delegate_to_multipathd() was returning success, even if the multipathd
command failed. Also, if the command was set to fail with NOT_DELEGATED,
it shouldn't print any errors, since multipath will try to issue to
command itself.

Fixes: "multipath: delegate flushing maps to multipathd"
Signed-off-by: Benjamin Marzinski <bmarz...@redhat.com>
---
 multipath/main.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/multipath/main.c b/multipath/main.c
index 4c43314e..3da692dc 100644
--- a/multipath/main.c
+++ b/multipath/main.c
@@ -861,9 +861,12 @@ int delegate_to_multipathd(enum mpath_cmds cmd,
                goto out;
        }
 
-       if (reply != NULL && *reply != '\0' && strcmp(reply, "ok\n"))
-               printf("%s", reply);
-       r = DELEGATE_OK;
+       if (reply != NULL && *reply != '\0') {
+               if (strcmp(reply, "fail\n"))
+                       r = DELEGATE_OK;
+               if (r != NOT_DELEGATED && strcmp(reply, "ok\n"))
+                       printf("%s", reply);
+       }
 
 out:
        FREE(reply);
-- 
2.17.2

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

Reply via email to