]> err.no Git - util-linux/commit
libblkid: fix collision between RAID and PT probing
authorKarel Zak <kzak@redhat.com>
Thu, 22 Apr 2010 19:30:04 +0000 (21:30 +0200)
committerKarel Zak <kzak@redhat.com>
Thu, 22 Apr 2010 19:30:04 +0000 (21:30 +0200)
commitc81e70087cfebc299bdfbbd0675958483fc8a768
tree91286e412e19324afe6514870b200d20e290983f
parentabc67e06783aa1326b99f9ddee820cc495466e6c
libblkid: fix collision between RAID and PT probing

The RAID signature is usually at end of the block device. We have to
differentiate between:

- RAID signature at the end of disk, and
- RAID signature at the end of the last partition

The position of the signature is same in both cases... It means we have
to the parse partition table and check if the area where is RAID signature
is covered by any partition. If yes, then the RAID signature belongs to the
partition and has to be ignored during whole-disk probing.

The second problem are RAID1 underlaying disks (=raid members).  The
RAID device could be partitioned, in such a case the partition table
is visible from underlaying devices. These partition tables has to be
ignored. The libblkid ignores partition tables on raid members now.

Note that all these changes are implemented for blkid_do_safeprobe()
only. The others functions allow to access all detected superblocks or
partition tables.

Addresses: http://bugzilla.redhat.com/show_bug.cgi?id=543749
Signed-off-by: Karel Zak <kzak@redhat.com>
shlibs/blkid/src/blkidP.h
shlibs/blkid/src/partitions/partitions.c
shlibs/blkid/src/probe.c
shlibs/blkid/src/superblocks/superblocks.c