libmultipath: prio keyword ignored for multipath config
authorHannes Reinecke <hare@suse.de>
Tue, 8 Jan 2013 13:54:00 +0000 (14:54 +0100)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Tue, 8 Jan 2013 22:47:26 +0000 (23:47 +0100)
When specifying the 'prio' keyword in the multipath section
of the configuration file the value is ignored.
Problem is that the 'wwid' value is set only after the call
to select_prio(), so the correct definition couldn't been
found in the config file.

Signed-off-by: Hannes Reinecke <hare@suse.de>
libmultipath/discovery.c

index b5df8e3..6848b70 100644 (file)
@@ -891,6 +891,9 @@ pathinfo (struct path *pp, vector hwtable, int mask)
                }
        }
 
+       if (path_state == PATH_UP && (mask & DI_WWID) && !strlen(pp->wwid))
+               get_uid(pp);
+
         /*
          * Retrieve path priority, even for PATH_DOWN paths if it has never
          * been successfully obtained before.
@@ -905,9 +908,6 @@ pathinfo (struct path *pp, vector hwtable, int mask)
                }
        }
 
-       if (path_state == PATH_UP && (mask & DI_WWID) && !strlen(pp->wwid))
-               get_uid(pp);
-
        return 0;
 
 blank: