From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Benjamin Marzinski Date: Tue, 21 Jul 2020 01:37:18 -0500 Subject: [PATCH] multipath: deal with delegation failures correctly 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 --- 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