[Bug 234741] Loader fails to load from ZFS with two disks in JBOD configuration

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Jan 10 16:16:30 UTC 2019


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234741

--- Comment #12 from Toomas Soome <tsoome at freebsd.org> ---
(In reply to David Chisnall from comment #11)

The problem with disk sizes, BIOS, and kernel is that kernel has its own
drivers to read the disk size - whatever type of disk is there, we do have
specific drivers and resources in kernel.

In loader, we *only* use firmware facilities - for UEFI we have UEFI API, for
BIOS we have INT13 interface, and unfortunately there is unbelievable amount of
bugs, especially if the BIOS is actually emulated on top of UEFI. Especially
nasty when the system will hung if you access disk past end.

With zfs, we have pool config and uberblock pointer stored in pool labels (4),
labels are stored 2 in front of the pool and 2 at the back. To read data, we
actually should read all 4, find the most recent copy and use it. To read last
2 labels, we need to know the location.

In situation where we can not trust the sectors count (if reported at all), it
appeared   the only reliable source to get information about size is partition
table because it is  created by the OS.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list