It is wrong to remove the queue_if_no_path feature if no_path_retry
is unset. Rather, in this case the feature should neither be added
nor removed.

Signed-off-by: Martin Wilck <mwi...@suse.com>
Acked-by: Benjamin Marzinski <bmarz...@redhat.com>
Reviewed-by: Hannes Reinecke <h...@suse.com>
---
 libmultipath/dmparser.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/libmultipath/dmparser.c b/libmultipath/dmparser.c
index ba09dc72..1121c715 100644
--- a/libmultipath/dmparser.c
+++ b/libmultipath/dmparser.c
@@ -89,13 +89,12 @@ assemble_map (struct multipath * mp, char * params, int len)
         * We have to set 'queue_if_no_path' here even
         * to avoid path failures during map reload.
         */
-       if (mp->no_path_retry == NO_PATH_RETRY_UNDEF ||
-           mp->no_path_retry == NO_PATH_RETRY_FAIL) {
+       if (mp->no_path_retry == NO_PATH_RETRY_FAIL) {
                /* remove queue_if_no_path settings */
                condlog(3, "%s: remove queue_if_no_path from '%s'",
                        mp->alias, mp->features);
                remove_feature(&f, no_path_retry);
-       } else {
+       } else if (mp->no_path_retry != NO_PATH_RETRY_UNDEF) {
                add_feature(&f, no_path_retry);
        }
        if (mp->retain_hwhandler == RETAIN_HWHANDLER_ON)
-- 
2.13.1

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to