Blame SOURCES/0196-RHBZ-1239173-dont-set-flag.patch

f20720
---
f20720
 libmultipath/configure.c |    7 +++++--
f20720
 1 file changed, 5 insertions(+), 2 deletions(-)
f20720
f20720
Index: multipath-tools-130222/libmultipath/configure.c
f20720
===================================================================
f20720
--- multipath-tools-130222.orig/libmultipath/configure.c
f20720
+++ multipath-tools-130222/libmultipath/configure.c
f20720
@@ -257,7 +257,7 @@ extern int
f20720
 setup_map (struct multipath * mpp, char * params, int params_size)
f20720
 {
f20720
 	struct pathgroup * pgp;
f20720
-	int i;
f20720
+	int i, old_nr_active;
f20720
 
f20720
 	/*
f20720
 	 * don't bother if devmap size is unknown
f20720
@@ -311,8 +311,12 @@ setup_map (struct multipath * mpp, char
f20720
 	if (mpp->pgpolicyfn && mpp->pgpolicyfn(mpp))
f20720
 		return 1;
f20720
 
f20720
+	old_nr_active = mpp->nr_active;
f20720
 	mpp->nr_active = pathcount(mpp, PATH_UP) + pathcount(mpp, PATH_GHOST);
f20720
 
f20720
+	if (mpp->nr_active && !old_nr_active)
f20720
+		mpp->force_udev_reload = 1;
f20720
+
f20720
 	/*
f20720
 	 * ponders each path group and determine highest prio pg
f20720
 	 * to switch over (default to first)
f20720
@@ -445,7 +449,6 @@ select_action (struct multipath * mpp, v
f20720
 			mpp->alias);
f20720
 		return;
f20720
 	}
f20720
-	mpp->force_udev_reload = !pathcount(mpp, PATH_WILD);
f20720
 	if (cmpp->size != mpp->size) {
f20720
 		mpp->force_udev_reload = 1;
f20720
 		mpp->action = ACT_RESIZE;