freebsd-dev/sys/boot/i386/common
Toomas Soome e41fab8d40 loader: zfs reader should check all labels
The current zfs reader is only checking first label from each device, however,
we do have 4 labels on device and we should check all 4 to be protected
against disk failures and incomplete label updates.

The difficulty is about the fact that 2 label copies are in front of the
pool data, and 2 are at the end, which means, we have to know the size of
the pool data area.

Since we have now the mechanism from common/disk.c to use the partition
information, it does help us in this task; however, there are still some
corner cases.

Namely, if the pool is created without partition, directly on the disk,
and firmware will give us the wrong size for the disk, we only can check
the first two label copies.

Reviewed by:	allanjude
Differential Revision:	https://reviews.freebsd.org/D10203
2017-04-06 18:17:29 +00:00
..
bootargs.h Implement boot-time encryption key passing (keybuf) 2017-04-01 05:05:22 +00:00
cons.c boot2 will deadlock if extended keys are used on text input 2016-12-30 18:21:52 +00:00
cons.h Add missing prototype for getchar(..) 2016-05-13 10:59:46 +00:00
drv.c Remove unused macro from common/drv.c. 2017-02-25 18:14:32 +00:00
drv.h loader: zfs reader should check all labels 2017-04-06 18:17:29 +00:00
edd.h