When inserting a partitioned disk, devfs and geom will announce the whole disk before they announce the partition. If the partition containing ZFS extends to one of the disk's extents, then zfsd will see a ZFS label on the whole disk and attempt to online it. ZFS is smart enough to activate the partition instead of the whole disk, but only if GEOM has already created the partition's provider. cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c Add a zpool_read_all_labels method. It's similar to zpool_read_label, but it will return the number of labels found. cddl/usr.sbin/zfsd/zfsd_event.cc When processing a DevFS CREATE event, only online a VDEV if we can read all four ZFS labels. Reviewed by: mav MFC after: 3 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D11920 |
||
---|---|---|
.. | ||
tests | ||
callout.cc | ||
callout.h | ||
case_file.cc | ||
case_file.h | ||
Makefile | ||
Makefile.common | ||
Makefile.depend | ||
vdev_iterator.cc | ||
vdev_iterator.h | ||
vdev.cc | ||
vdev.h | ||
zfsd_event.cc | ||
zfsd_event.h | ||
zfsd_exception.cc | ||
zfsd_exception.h | ||
zfsd_main.cc | ||
zfsd.8 | ||
zfsd.cc | ||
zfsd.h | ||
zpool_list.cc | ||
zpool_list.h |