libmultipath: add skip_kpartx option
authorBenjamin Marzinski <bmarzins@redhat.com>
Sat, 29 Oct 2016 02:55:17 +0000 (21:55 -0500)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Thu, 3 Nov 2016 13:19:47 +0000 (14:19 +0100)
commitb73a34ea885697f3264f840d5fd0e3c49724700e
tree9f6bde555bdbb663bb3a70671811189c0886dc2b
parent0163c4935b7fda73c390d411d5fc2ef1074c32ce
libmultipath: add skip_kpartx option

This option gives multipath the ability to stop kpartx from running. The
previous idea, the "no_partitions" feature, was not accepted in the
upstream kernel. This method uses one of the dm cookie subsystem flags
DM_SUBSYSTEM_UDEV_FLAG1, which can be checked by udev to skip running
kpartx when processing the event. This patch does most of the work
necessary to make this work.  It doesn't change kpartx.rules, however.

Also, if dm_suspend_and_flush_map fails, multipath doesn't know how the
device is configured. so, it simply checks if the device has any
partitions before attempting the remove, and if not, sets the
DM_SUBSYSTEM_UDEV_FLAG1 on the resume after failure, so that no
partitions will be generated.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
12 files changed:
libmultipath/config.c
libmultipath/config.h
libmultipath/configure.c
libmultipath/defaults.h
libmultipath/devmapper.c
libmultipath/devmapper.h
libmultipath/dict.c
libmultipath/propsel.c
libmultipath/propsel.h
libmultipath/structs.h
multipath/multipath.conf.5
multipathd/cli_handlers.c