38 lines
1.2 KiB
Diff
38 lines
1.2 KiB
Diff
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||
|
From: Benjamin Marzinski <bmarzins@redhat.com>
|
||
|
Date: Fri, 18 Dec 2020 17:06:40 -0600
|
||
|
Subject: [PATCH] libmultipath: ignore multipaths sections without wwid option
|
||
|
|
||
|
"multipathd show config local" was crashing in find_mp_by_wwid() if
|
||
|
the multipath configuration included a multipaths section that did
|
||
|
not set a wwid option. There is no reason to keep a mpentry that
|
||
|
didn't set its wwid. Remove it in merge_mptable().
|
||
|
|
||
|
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
|
||
|
Reviewed-by: Martin Wilck <mwilck@suse.com>
|
||
|
---
|
||
|
libmultipath/config.c | 7 +++++++
|
||
|
1 file changed, 7 insertions(+)
|
||
|
|
||
|
diff --git a/libmultipath/config.c b/libmultipath/config.c
|
||
|
index 9f3cb38d..a643703e 100644
|
||
|
--- a/libmultipath/config.c
|
||
|
+++ b/libmultipath/config.c
|
||
|
@@ -509,6 +509,13 @@ void merge_mptable(vector mptable)
|
||
|
int i, j;
|
||
|
|
||
|
vector_foreach_slot(mptable, mp1, i) {
|
||
|
+ /* drop invalid multipath configs */
|
||
|
+ if (!mp1->wwid) {
|
||
|
+ condlog(0, "multipaths config section missing wwid");
|
||
|
+ vector_del_slot(mptable, i--);
|
||
|
+ free_mpe(mp1);
|
||
|
+ continue;
|
||
|
+ }
|
||
|
j = i + 1;
|
||
|
vector_foreach_slot_after(mptable, mp2, j) {
|
||
|
if (strcmp(mp1->wwid, mp2->wwid))
|
||
|
--
|
||
|
2.17.2
|
||
|
|