loader: biosdisk interface should be able to cope with 4k sectors
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.
Updated by Tobias Husmann about 3 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.
Xeon E5-1650 v4
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
Updated by Electric Monk about 3 years ago
- Status changed from In Progress to Closed
- % Done changed from 80 to 100
commit 4c004ea84c324520a1bac324e9f69d22ab4c5cd9 Author: Toomas Soome <email@example.com> Date: 2017-06-12T10:54:50.000Z 8303 loader: biosdisk interface should be able to cope with 4k sectors Reviewed by: Robert Mustacchi <firstname.lastname@example.org> Approved by: Hans Rosenfeld <email@example.com>