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(-)
--
2.41.0