Blob Blame History Raw
---
 multipath/main.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Index: multipath-tools-130222/multipath/main.c
===================================================================
--- multipath-tools-130222.orig/multipath/main.c
+++ multipath-tools-130222/multipath/main.c
@@ -135,7 +135,7 @@ usage (char * progname)
 }
 
 static int
-update_paths (struct multipath * mpp)
+update_paths (struct multipath * mpp, int quick)
 {
 	int i, j;
 	struct pathgroup * pgp;
@@ -149,6 +149,10 @@ update_paths (struct multipath * mpp)
 			continue;
 
 		vector_foreach_slot (pgp->paths, pp, j) {
+			if (quick) {
+				pp->mpp = mpp;
+				continue;
+			}
 			if (!strlen(pp->dev)) {
 				if (devt2devname(pp->dev, FILE_NAME_SIZE,
 						 pp->dev_t)) {
@@ -213,8 +217,7 @@ get_dm_mpvec (vector curmp, vector pathv
 		 * If not in "fast list mode", we need to fetch information
 		 * about them
 		 */
-		if (conf->cmd != CMD_LIST_SHORT)
-			update_paths(mpp);
+		update_paths(mpp, (conf->cmd == CMD_LIST_SHORT));
 
 		if (conf->cmd == CMD_LIST_LONG)
 			mpp->bestpg = select_path_group(mpp);