On Wed, 2025-01-22 at 22:16 -0500, Benjamin Marzinski wrote: > This patchset has a couple of different pieces, but that main part > is fixing the issue where, if a path is added while offline (for > instance by doing a "multipath reconfigure" while the path is > offline) > It won't be able to get the SCSI device serial number (or its ALUA > target port group). This meant that the GROUP_BY_SERIAL and > GROUP_BY_TPG path grouping policies would not group the path > correctly, > even once it came back online. > > Patches 1 & 2 are just a fix on top of Martin's recent device > reloading > work. > > Patches 3, 4, & 5 are changes to need_reload. They avoid setting and > checking it in cases where it won't change how multipathd behaves. > The side benefit of doing this work is that it's easier to reason > about > what setting need_reload can and can't effect. Specifically, it will > now > only cause multipathd to fix incorrect device tables while in > checker_finished(). > > Patches 6 - 11 deal with the serial and tpg_id problem from issue > #108 > > Patch 12 is shutting up a static analyzer warning that popped up on a > recent rhel build. > > Patch 13 is a fix for an issue I ran into while testing this set. > > Benjamin Marzinski (13): > multipathd: use symbolic values for wait_for_udev > multipathd: don't reload the map when waiting for udev > libmultipath: don't set need_reload in adopt_paths > libmultipath: remove need_reload check from select_action > libmultipath: drop return value from update_pathvec_from_dm > libmultipath: Dont scan pointless sysfs parents > libmultipath: move sysfs checks out of scsi_ioctl_pathinfo > libmultipath: rename DI_SERIAL to DI_IOCTL > libmultipath: retry DI_IOCTL functions if they were skipped > libmultipath: set need_reload when pp->serial gets set > libmultipath: set need_reload when the tpg_id gets set > libmultipath: stop static analyzer complaint in init_foreign > libmultipath: be lenient in allowing the alua-based pgpolicies > > libmultipath/configure.c | 4 +- > libmultipath/devmapper.c | 22 +++++--- > libmultipath/discovery.c | 104 ++++++++++++++++------------------- > -- > libmultipath/discovery.h | 7 ++- > libmultipath/foreign.c | 2 +- > libmultipath/propsel.c | 6 ++- > libmultipath/structs.h | 15 +++++- > libmultipath/structs_vec.c | 10 ++-- > multipath/main.c | 2 +- > multipathd/cli_handlers.c | 16 +++--- > multipathd/main.c | 40 +++++++------- > tests/test-lib.c | 9 +--- > 12 files changed, 119 insertions(+), 118 deletions(-) > For the set: Reviewed-by: Martin Wilck <mwilck@xxxxxxxx>