[libmultipath] revert e1e1a1bfb2cf76bfd1a49335e3deec5360fb09db
authorChristophe Varoqui <christophe.varoqui@free.fr>
Fri, 13 Jul 2007 21:26:12 +0000 (23:26 +0200)
committerChristophe Varoqui <christophe.varoqui@free.fr>
Fri, 13 Jul 2007 21:26:12 +0000 (23:26 +0200)
Counter productive change concerning hardware showing ghost paths,
like rdac.

libmultipath/discovery.c
libmultipath/switchgroup.c

index e3d4cd5..651c53c 100644 (file)
@@ -621,11 +621,11 @@ pathinfo (struct path *pp, vector hwtable, int mask)
                goto blank;
        
         /*
-         * Retrieve path priority even for not PATH_UP paths if it has never
+         * Retrieve path priority, even for PATH_DOWN paths if it has never
          * been successfully obtained before.
          */
        if (mask & DI_PRIO &&
-           (pp->state == PATH_UP || pp->priority == PRIO_UNDEF))
+           (pp->state != PATH_DOWN || pp->priority == PRIO_UNDEF))
                get_prio(pp);
 
        if (mask & DI_WWID && !strlen(pp->wwid))
index 9b84bc2..757543f 100644 (file)
@@ -28,7 +28,7 @@ select_path_group (struct multipath * mpp)
                priority = 0;
 
                vector_foreach_slot (pgp->paths, pp, j) {
-                       if (pp->state == PATH_UP)
+                       if (pp->state != PATH_DOWN)
                                priority += pp->priority;
                }
                pgp->priority = priority;