libmultipath: change find_multipaths option to multi-value
authorMartin Wilck <mwilck@suse.com>
Fri, 13 Apr 2018 22:00:00 +0000 (00:00 +0200)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Fri, 11 May 2018 08:48:32 +0000 (10:48 +0200)
commitc36f2f42166454a648a02c28148adc2338bab599
tree4a7f1d504c3c2131b374128d3479f386e13f01f5
parentb1ef7ac1cc7fa9cfd428742c0bd4ac824de998c0
libmultipath: change find_multipaths option to multi-value

Change the "find_multipaths" option from yes/no to multi-value. This
option now covers the effects of "find_multipaths" as it used to be,
plus the -i option to multipath (ignore_wwids) and the -n option to
multipathd (ignore_new_devs), excluding such combinations of the former
options that are dangerous or inconsistent.

The possible values for "find_multipaths" are now:

 - strict: strictly stick to the WWIDs file; never add new maps automatically
   (new default; upstream behaviour with with find_multipaths "yes" and
   commit 64e27ec "multipathd: imply -n if find_multipaths is set")
 - off|no: multipath like "strict", multipathd like "greedy" (previous
   upstream default)
 - on|yes: set up multipath if >1 paths are seen (current Red Hat/Ubuntu
   behavior with find_multipaths "yes")
 - greedy: set up multipath for all non-blacklisted devices (current SUSE
   default)
 - smart: Like "yes", but try to avoid inconsistencies between udev processing
   and multipathd processing by waiting for path siblings to
   appear (fully implemented in follow-up patches)

The default has been changed to "strict", because "no" may cause inconsistent
behavior between "multipath -u" and multipathd. This is deliberately a
conservative choice.

The patch also updates the related man pages.

Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Martin Wilck <mwilck@suse.com>
libmultipath/config.h
libmultipath/defaults.h
libmultipath/dict.c
libmultipath/structs.h
libmultipath/wwids.c
multipath/main.c
multipath/multipath.8
multipath/multipath.conf.5
multipathd/main.c
multipathd/multipathd.8