If the multipath configuration has changed and a multipath device is no
longer valid after a reconfigure, disable queueing on it before
attempting to delete it. This makes it more likely to be deleted and if
the device isn't valid, then it there is no defined no_path_retry value
for it.

Fixes: https://github.com/opensvc/multipath-tools/issues/113
Signed-off-by: Benjamin Marzinski <bmarz...@redhat.com>
---
 multipathd/main.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/multipathd/main.c b/multipathd/main.c
index bdd97178..83a0b055 100644
--- a/multipathd/main.c
+++ b/multipathd/main.c
@@ -820,6 +820,10 @@ coalesce_maps(struct vectors *vecs, vector nmpv)
                         * remove all current maps not allowed by the
                         * current configuration
                         */
+                       ompp->retry_tick = 0;
+                       ompp->no_path_retry = NO_PATH_RETRY_FAIL;
+                       ompp->disable_queueing = 1;
+                       dm_queue_if_no_path(ompp, 0);
                        if (dm_flush_map(ompp->alias) != DM_FLUSH_OK) {
                                condlog(0, "%s: unable to flush devmap",
                                        ompp->alias);
-- 
2.48.1


Reply via email to