]> err.no Git - util-linux/commit
libblkid: improve ZFS detection and add LABEL and UUID extraction
authorAndreas Dilger <adilger@sun.com>
Thu, 11 Mar 2010 14:16:46 +0000 (15:16 +0100)
committerKarel Zak <kzak@redhat.com>
Thu, 11 Mar 2010 14:19:44 +0000 (15:19 +0100)
commita1fbeb3df35d1441c4ef64ea7e04c2b1fda38ba2
tree74202540a5ea4ade6f0b3a7e56cb6e879ac98ed9
parentaf109b063aa15866a0570920586d79417d7a7a67
libblkid: improve ZFS detection and add LABEL and UUID extraction

Improve ZFS uberblock detection to loop over multiple uberblocks,
and detect at least 4 magic values, to avoid random collisions.
It doesn't yet probe the VDEV LABEL at the end of the device, though
it wouldn't be too hard to add it at this point if needed.

Add extraction of the pool name (as LABEL), the VDEV (block device)
guid as UUID_SUB, and pool_guid (volume) as UUID from the nvlist in
the VDEV LABEL.  Do simple sanity checking on the nvlist data values
to avoid overflowing the buffer if they are corrupt in any way.

[kzak@redhat.com: - use %PRIu64 instead %llu]

Signed-off-by: Andreas Dilger <adilger@sun.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
shlibs/blkid/src/superblocks/zfs.c
tests/expected/blkid/low-probe-zfs