Project

General

Profile

Bug #8303

loader: biosdisk interface should be able to cope with 4k sectors

Added by Toomas Soome almost 2 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
bootloader
Start date:
2017-05-29
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:

Description

The current biosdisk interface is implemented assuming 512B sector size, with 8+TB disks, there are already systems reporting 4096B sectors and this does break the gptzfsboot and loader as both are using libi386 biosdisk interface.

This issue is addressing only the libi386 interface, even with this fix, the 4kn disk is still not (yet) usable for boot, because the pmbr.s code is also assuming 512B sectors, but right now we shall not address the mbr code.

Also this update does only implement the large sector support, eventually we should merge disk and cd code to reduce the duplication, but that also is for future updates.

Tested on one system with 2x ssd for boot and 8TB disks for data pool, however, since only 22 disks from 32 were visible for data pool, we were unable to confirm the pool readability.

History

#1

Updated by Tobias Husmann almost 2 years ago

For the notes and for ppl having same problems:
Had the problem, that after upgrading OI Hipster from illumos-291a8a9 March 2017 yesterday that I endet up in the following lines:

panic: bd_strategy: 512 bytes I/O not multiple of block size.
press a key on the console to reboot....

So the loader wasn't shown and going back to an old BE was impossible. This fix from Toomas helped me out to get my system back up online.

Hardware Used:
Supermicro X10SRL-F
Xeon E5-1650 v4
256GB RAM
2x 240GB Samsung SM863 SATA 600 as mirrored rpool
32x HGST HUH728080AL4200 8TB 4Kn SAS HDDs on LSI SAS9300-8i controllers
Legacy boot via MBR from ssds

#2

Updated by Geoff Nordli almost 2 years ago

I had the same issue.

ASRock Motherboard C2750D4I
boot disk is a Intel SSDSC2BB080G (80GB SSD).
Mirrored Seagate 6TB 4kn (ST6000NM0004)

Toomas gave me updated loader files which can see the 4kn drives.

It boots now.

#3

Updated by Electric Monk almost 2 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 80 to 100

git commit 4c004ea84c324520a1bac324e9f69d22ab4c5cd9

commit  4c004ea84c324520a1bac324e9f69d22ab4c5cd9
Author: Toomas Soome <tsoome@me.com>
Date:   2017-06-12T10:54:50.000Z

    8303 loader: biosdisk interface should be able to cope with 4k sectors
    Reviewed by: Robert Mustacchi <rm@joyent.com>
    Approved by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>

Also available in: Atom PDF