https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234741
--- Comment #12 from Toomas Soome <tso...@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.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to