Blob Blame History Raw
---
 libmultipath/configure.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

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