freebsd-dev/sys/cddl/boot/zfs
Robert Noland 14c436e101 Correct some issues with zfs boot.
- Teach it to read gang blocks. (essentially untested)
   If you see "ZFS: gang block detected!", please let
   me know, so we can either remove the printf if it
   works, or fix it if it doesn't.

 - If multiple partitions exist on a disk, probe them all.
   We also need to reset dsk->start to 0 to read the right
   sector here.

 - With GPT, we can have 128 partitions.

 - If the bootfs property has ever been set on a pool
   it seems that it never goes away.  zpool won't allow
   you to add to the pool with the bootfs property set.
   However, if you clear the property back to default
   we end up getting 0 for the object number and read
   a bogus block pointer and fail to boot.

 - Fix some error printfs. The printf in the loader is
   only capable of c,s and u formats.

 - Teach printf how to display %llu

Reviewed by:	dfr, jhb
MFC after:	2 weeks
2009-10-23 18:44:53 +00:00
..
fletcher.c
lzjb.c
README Add support for booting from raidz1 and raidz2 pools. 2009-05-16 10:48:20 +00:00
sha256.c
zfsimpl.h Correct some issues with zfs boot. 2009-10-23 18:44:53 +00:00
zfssubr.c Unexpand $FreeBSD$. 2009-05-23 16:01:58 +00:00

$FreeBSD$

This directory contains various files derived from CDDL sources that
are used by the ZFS bootstrap:

    fletcher.c			checksum support
    sha256.c			checksum support
    lzjb.c			compression support
    zfssubr.c			checksum, compression and raidz support
    zfsimpl.h			mostly describing the physical layout

The files fletcher.c, lzjb.c and sha256.c are largely identical to the
ZFS base code (with write support removed) and could be shared but
that might complicate future imports from OpenSolaris.