freebsd-skq/sys/cddl/boot/zfs
tsoome c29918a860 loader: rewrite zfs vdev initialization
In some cases the pool discovery will get stuck in infinite loop while setting
up the vdev children.

To fix, we split the vdev setup into two parts, first we create vdevs based on
configuration we do get from pool label, then, we process pool config from MOS
and update the pool config if needed.

Testing done: confirm previously hung loader is not hung any more.

MFC after:	1 week
2019-12-15 21:52:40 +00:00
..
blkptr.c
fletcher.c Add SHA512, skein, large blocks support for loader zfs. 2016-08-18 00:37:07 +00:00
lzjb.c
README
sha256.c Add SHA512, skein, large blocks support for loader zfs. 2016-08-18 00:37:07 +00:00
skein_zfs.c Add SHA512, skein, large blocks support for loader zfs. 2016-08-18 00:37:07 +00:00
zfsimpl.h loader: rewrite zfs vdev initialization 2019-12-15 21:52:40 +00:00
zfssubr.c loader: rewrite zfs vdev initialization 2019-12-15 21:52:40 +00:00
zle.c

$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
    lz4.c			compression support
    lzjb.c			compression support
    blkptr.c			ZFS embedded-data block pointers support
    zfssubr.c			checksum, compression and raidz support
    zfsimpl.h			mostly describing the physical layout

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