libmultipath: allow distributions to change partition_delim default
authorMartin Wilck <mwilck@suse.com>
Mon, 25 Jun 2018 19:47:23 +0000 (21:47 +0200)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Mon, 2 Jul 2018 10:03:32 +0000 (12:03 +0200)
commitef6d98b4f9d2f9400d00eaf3fe7ef82e3e428add
tree223f160a3fbef867f5f1d54dc7c203b37d0cd2e4
parenta2befc6dd22a9f4426b4d8282309bbbd2aa7c643
libmultipath: allow distributions to change partition_delim default

partition_delimiter is UNSET by default, falling back to the kernel
default behavior to use "p" for devices ending in a digit, and ""
for others. However, the udev rules for kpartx have always used the
delimiter "-part". If a map name is changed (e.g. if an alias is
reconfigured), multipathd first sets partition names e.g. to name "mpatha1",
which is later changed to "mpatha-part1" by kpartx during udev rule
processing. That's inefficient and superfluous. However, if a distribution
simply changed DEFAULT_PARTITION_DELIM to "-part", users wouldn't be able
to restore the default behavior any more.

This patch allows to set 'partition_delimiter "/UNSET/"' in multipath.conf
to force the previous default behavior, even if the distribution default is
something other than UNSET. The string "/UNSET/" is not a valid partition
delimiter because filenames can't contain slashes, thus user freedom isn't
constrained by this patch.

Signed-off-by: Martin Wilck <mwilck@suse.com>
libmultipath/config.c
libmultipath/defaults.c
libmultipath/defaults.h
libmultipath/dict.c
multipath/multipath.conf.5