kpartx: use partition UUID for non-DM devices
authorMartin Wilck <mwilck@suse.com>
Mon, 15 May 2017 15:37:19 +0000 (17:37 +0200)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Wed, 17 May 2017 21:44:32 +0000 (23:44 +0200)
commitf3c233b2fd7363c6483c46a07b080e3ad97cf7b6
treea878b3f6c682750ba9e1e98e17e27f04ff118cd7
parent4b656fbea934bbd48eb28662afbffb6991008fc8
kpartx: use partition UUID for non-DM devices

For dm devices, kpartx uses an UUID check at partition removal
to make sure it only deletes partitions it previously created.
Non-DM parent devices such as loop devices don't generally have
a UUID.

Introduce a "fake" UUID for these devices to make sure kpartx
deletes only devices it had created previously. Otherwise kpartx
might e.g. delete LVM LVs that are inside a device it is trying
to delete partitions for. It seems to be wiser to make sure the
user delete these manually before running "kpartx -d".

With the fake UUID in place, we can re-introduce the UUID check
for non-DM device that was removed in the earlier patch
"kpartx: dm_remove_partmaps: support non-dm devices".

This disables also deletion of partition mappings created
by earlier versions of kpartx. If kpartx has been updated after
partition mappings were created, the "-f" flag can be used
to force delting these partitions, too.

Signed-off-by: Martin Wilck <mwilck@suse.com>
kpartx/devmapper.c
kpartx/kpartx.c