You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1.1 KiB

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