On Tue, 2023-12-19 at 17:51 -0500, Benjamin Marzinski wrote: > This patchset combines my patch to disable queueing in > set_no_path_retry > when recovery mode has timed out with my pathset to cleanup the > interactive commands. This has been significantly changed in v3 > > Differences from v2 (based on suggestions by Martin Wilck): > 0001: This completely new patch that Martin suggested. Martin, I've > made you the Author. Feel free to change my commit message if > you'd like. > 0002: This is similar to patch 0001 from v2, except the rational has > changed. It is still possible to get in a situation where a > multipath device is queueing after timeout out in recovery, so > we > still need to handle this. Since we won't have to worry about > multipathd flip-flopping the queueing state on reloads, I > pulled > this check outside the PATH_PENDING check, as Martin suggested. > 0003: This is the same as patches 0002-0004 from v2. It made no sense > to merge 0002 and 0004 but not 0003. In would just result in > making changes only to undo them in the next patch. > 0004: This is instead of my 0005 patch from v2. In order for > disabling and restoring queuing to always work correctly, > multipathd needs to track the current queueing state. > 0005: This is a new patch based on some of Martin's comments on > v2 patch 0005. > > Differences from v1 (based on suggestions by Martin Wilck): > 0001: added comments explaining why cleaning up the queueing state is > unnecessary in update_queue_mode_{add|del}_path(). > patches 0002-0005 were previously 0001-0004 > > Benjamin Marzinski (4): > multipathd: Make sure to disable queueing if recovery has failed. > multipathd: don't modify the multipath device on show commands > libmultipath: keep track of queueing state in features > multipathd: only restore queueing if it has been disabled first > > Martin Wilck (1): > libmultipath: avoid temporarily enabling queueing on reload > > libmultipath/configure.c | 4 +-- > libmultipath/devmapper.c | 23 +++++++++++++++--- > libmultipath/devmapper.h | 2 +- > libmultipath/dmparser.c | 14 +++++++++-- > libmultipath/structs_vec.c | 34 +++++++++++++++++++++----- > multipathd/cli_handlers.c | 50 +++++++++++++++++------------------- > -- > multipathd/dmevents.c | 2 +- > multipathd/main.c | 33 +++++++++++++------------ > multipathd/main.h | 7 +++--- > multipathd/multipathd.8.in | 12 +++++++-- > multipathd/waiter.c | 2 +- > 11 files changed, 116 insertions(+), 67 deletions(-) > For the set: Reviewed-by: Martin Wilck <mwilck@xxxxxxxx>