On Fri, 2023-05-19 at 18:02 -0500, Benjamin Marzinski wrote: > This patchset is 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. > Thanks a lot for doing this. It has been on my todo list for a long time. And sorry to make you wait so long for the review. > There is one thing that I'm not sure of. Is there any possiblity of > a > path device changing the target port group it belongs to while it > use? > If so, then we would need code to check for this and reload the > device > if it occurs. The kernel ALUA code seems to be written to deal with such changes. The spec is unclear about it. The spec says that the primary TPG is a set of target ports that have the same state _at all times_, which we might boldly interpret such that the TPG can't change (if it did, the target ports wouldn't have the same state "at all times" any more). But well, I don't think we should rely upon that. So yes, I think we should be prepared to handle TPG change, even if it's very unlikely to happen in practice. But it doesn't need to be in this patch set. After all, the worst thing that can happen is that the grouping might be wrong in a very unusual situation. With group-by- prio, that happens all the time, although only temporarily. Regards Martin > > Benjamin Marzinski (5): > 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/config.c | 2 + > libmultipath/config.h | 2 + > libmultipath/configure.c | 1 + > libmultipath/defaults.h | 1 + > libmultipath/dict.c | 17 ++- > libmultipath/discovery.c | 1 + > libmultipath/hwtable.c | 1 + > libmultipath/libmultipath.version | 10 +- > libmultipath/pgpolicies.c | 42 ++++--- > libmultipath/pgpolicies.h | 6 +- > libmultipath/print.c | 9 ++ > libmultipath/prioritizers/alua.c | 1 + > libmultipath/propsel.c | 50 +++++++- > libmultipath/propsel.h | 1 + > libmultipath/structs.c | 1 + > libmultipath/structs.h | 10 ++ > multipath/main.c | 1 + > multipath/multipath.conf.5 | 16 +++ > tests/pgpolicy.c | 201 > ++++++++++++++++++++++++++++++ > 19 files changed, 338 insertions(+), 35 deletions(-) > -- dm-devel mailing list dm-devel@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/dm-devel