Blame SOURCES/0201-RHBZ-1403552-silence-warning.patch

d88bf6
---
d88bf6
 libmultipath/discovery.c |   15 +++++++++++----
d88bf6
 multipathd/main.c        |   10 ++++++++++
d88bf6
 2 files changed, 21 insertions(+), 4 deletions(-)
d88bf6
d88bf6
Index: multipath-tools-130222/libmultipath/discovery.c
d88bf6
===================================================================
d88bf6
--- multipath-tools-130222.orig/libmultipath/discovery.c
d88bf6
+++ multipath-tools-130222/libmultipath/discovery.c
d88bf6
@@ -84,10 +84,6 @@ path_discover (vector pathvec, struct co
d88bf6
 	if (!devname)
d88bf6
 		return PATHINFO_FAILED;
d88bf6
 
d88bf6
-	if (filter_devnode(conf->blist_devnode, conf->elist_devnode,
d88bf6
-			   (char *)devname) > 0)
d88bf6
-		return PATHINFO_SKIPPED;
d88bf6
-
d88bf6
 	pp = find_path_by_dev(pathvec, (char *)devname);
d88bf6
 	if (!pp) {
d88bf6
 		return store_pathinfo(pathvec, conf->hwtable,
d88bf6
@@ -1286,6 +1282,17 @@ pathinfo (struct path *pp, vector hwtabl
d88bf6
 	if (!pp)
d88bf6
 		return PATHINFO_FAILED;
d88bf6
 
d88bf6
+	/*
d88bf6
+	 * For behavior backward-compatibility with multipathd,
d88bf6
+	 * the blacklisting by filter_devnode() is not
d88bf6
+	 * limited by DI_BLACKLIST and occurs before this debug
d88bf6
+	 * message with the mask value.
d88bf6
+	 */
d88bf6
+	if (filter_devnode(conf->blist_devnode,
d88bf6
+			   conf->elist_devnode,
d88bf6
+			   pp->dev) > 0)
d88bf6
+		return PATHINFO_SKIPPED;
d88bf6
+
d88bf6
 	condlog(3, "%s: mask = 0x%x", pp->dev, mask);
d88bf6
 
d88bf6
 	/*
d88bf6
Index: multipath-tools-130222/multipathd/main.c
d88bf6
===================================================================
d88bf6
--- multipath-tools-130222.orig/multipathd/main.c
d88bf6
+++ multipath-tools-130222/multipathd/main.c
d88bf6
@@ -776,6 +776,16 @@ uev_update_path (struct uevent *uev, str
d88bf6
 
d88bf6
 	pp = find_path_by_dev(vecs->pathvec, uev->kernel);
d88bf6
 	if (!pp) {
d88bf6
+		/* If the path is blacklisted, print a debug/non-default verbosity message. */
d88bf6
+		if (uev->udev) {
d88bf6
+			int flag = DI_SYSFS | DI_WWID;
d88bf6
+
d88bf6
+			if (store_pathinfo(NULL, conf->hwtable, uev->udev, flag, NULL) == PATHINFO_SKIPPED) {
d88bf6
+				condlog(3, "%s: spurious uevent, path is blacklisted", uev->kernel);
d88bf6
+				return 0;
d88bf6
+			}
d88bf6
+		}
d88bf6
+
d88bf6
 		condlog(0, "%s: spurious uevent, path not found",
d88bf6
 			uev->kernel);
d88bf6
 		return 1;