The first part adds a new path grouping policy that can be used with ALUA devices. The goal is to avoid the temporary incorrect path groupings that can happen when paths change priorities. The second part is changes that mostly effect how multipathd handles switching or reordering pathgroups for devices where group_by_prio isn't set. Differences from V2 (based on suggestions from Martin Wilck): [01/11]: set loglevel in get_alua_info based on whether or not we're changing pp->tpg_id [06/11]: fixed default detect_pgpolicy_use_tpg in template [08/11]: fixed typo in patch header [10/11]: fixed logic in path_groups_in_order() Benjamin Marzinski (11): libmultipath: add group_by_tpg path_grouping_policy libmultipath: don't copy pgpolicy string in get_pgpolicy_name libmultipath: add ALUA tpg path wildcard multipath-tools tests: add tests for group_by_tpg policy libmultipath: add "detect_pgpolicy" config option libmultipath: add "detect_pgpolicy_use_tpg" config option libmultipath: don't count PRIO_UNDEF paths for pathgroup priority multipath-tools tests: add tests to verify PRIO_UNDEF changes multipathd: only refresh priorities in update_prio() multipathd: reload map if the path groups are out of order multipathd: don't assume mpp->paths will exist in need_switch_pathgroup libmultipath/config.c | 4 + libmultipath/config.h | 4 + libmultipath/configure.c | 2 + libmultipath/defaults.h | 2 + libmultipath/dict.c | 28 +++- libmultipath/discovery.c | 1 + libmultipath/hwtable.c | 2 + libmultipath/libmultipath.version | 10 +- libmultipath/pgpolicies.c | 42 +++--- libmultipath/pgpolicies.h | 6 +- libmultipath/print.c | 9 ++ libmultipath/prioritizers/alua.c | 6 +- libmultipath/propsel.c | 69 ++++++++- libmultipath/propsel.h | 2 + libmultipath/structs.c | 1 + libmultipath/structs.h | 17 +++ libmultipath/switchgroup.c | 12 +- multipath/main.c | 1 + multipath/multipath.conf.5 | 29 ++++ multipathd/cli_handlers.c | 8 +- multipathd/fpin_handlers.c | 4 +- multipathd/main.c | 175 +++++++++++---------- multipathd/main.h | 3 +- tests/pgpolicy.c | 243 ++++++++++++++++++++++++++++++ 24 files changed, 552 insertions(+), 128 deletions(-) -- 2.17.2 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/dm-devel