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