[dm-devel] [PATCH 07/78] libmultipath: Skip paths with empty wwid

Hannes Reinecke hare at suse.de
Mon Mar 16 12:35:54 UTC 2015


If the WWID is empty this is pretty much a terminal error, as
we don't have anything to identify the multipath device.
So skip those devices during discovery.

Signed-off-by: Hannes Reinecke <hare at suse.de>
---
 libmultipath/discovery.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c
index 3e0afc4..948fa49 100644
--- a/libmultipath/discovery.c
+++ b/libmultipath/discovery.c
@@ -1230,7 +1230,8 @@ pathinfo (struct path *pp, vector hwtable, int mask)
 	if ((mask & DI_WWID) && !strlen(pp->wwid))
 		get_uid(pp);
 	if (mask & DI_BLACKLIST && mask & DI_WWID) {
-		if (filter_wwid(conf->blist_wwid, conf->elist_wwid,
+		if (!strlen(pp->wwid) ||
+		    filter_wwid(conf->blist_wwid, conf->elist_wwid,
 				pp->wwid) > 0) {
 			return PATHINFO_SKIPPED;
 		}
@@ -1244,6 +1245,8 @@ pathinfo (struct path *pp, vector hwtable, int mask)
 		if (pp->state != PATH_DOWN || pp->priority == PRIO_UNDEF) {
 			if (!strlen(pp->wwid))
 				get_uid(pp);
+			if (!strlen(pp->wwid))
+				return PATHINFO_SKIPPED;
 			get_prio(pp);
 		}
 	}
-- 
1.8.4.5




More information about the dm-devel mailing list