Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Jan 2019 16:16:28 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 234741] Loader fails to load from ZFS with two disks in JBOD configuration
Message-ID:  <bug-234741-227-yRm5O4Ng3v@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-234741-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-234741-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D234741

--- Comment #12 from Toomas Soome <tsoome@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, f=
or
BIOS we have INT13 interface, and unfortunately there is unbelievable amoun=
t 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 l=
ast
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 partit=
ion
table because it is  created by the OS.

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-234741-227-yRm5O4Ng3v>