---
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;