@@ -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);
}
}
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@suse.de> --- libmultipath/discovery.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)