The CLI command 'show config' or the 'multipath -t' command should not print an empty 'multipaths' section. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> --- multipath/main.c | 11 +++++++---- multipathd/cli_handlers.c | 9 ++++++--- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/multipath/main.c b/multipath/main.c index c46a9f6..ebca4dc 100644 --- a/multipath/main.c +++ b/multipath/main.c @@ -436,10 +436,13 @@ dump_config (void) reply = REALLOC(reply, maxlen *= 2); continue; } - c += snprint_mptable(c, reply + maxlen - c, conf->mptable); - again = ((c - reply) == maxlen); - if (again) - reply = REALLOC(reply, maxlen *= 2); + if (VECTOR_SIZE(conf->mptable) > 0) { + c += snprint_mptable(c, reply + maxlen - c, + conf->mptable); + again = ((c - reply) == maxlen); + if (again) + reply = REALLOC(reply, maxlen *= 2); + } } printf("%s", reply); diff --git a/multipathd/cli_handlers.c b/multipathd/cli_handlers.c index 772531e..dc96c45 100644 --- a/multipathd/cli_handlers.c +++ b/multipathd/cli_handlers.c @@ -229,9 +229,12 @@ show_config (char ** r, int * len) maxlen *= 2; continue; } - c += snprint_mptable(c, reply + maxlen - c, conf->mptable); - again = ((c - reply) == maxlen); - REALLOC_REPLY(reply, again, maxlen); + if (VECTOR_SIZE(conf->mptable) > 0) { + c += snprint_mptable(c, reply + maxlen - c, + conf->mptable); + again = ((c - reply) == maxlen); + REALLOC_REPLY(reply, again, maxlen); + } } *r = reply; *len = (int)(c - reply + 1); -- 1.8.4.5 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel