[dm-devel] [multipath tools] pgp->priority average calculation
Mike Christie
michaelc at cs.wisc.edu
Tue Jan 8 22:51:31 UTC 2013
Hey Ben and Hannes and Christophe,
Happy multipath-tools patch submission day :)
I had a question on the pgp->priority average calculation and its
display to the user.
Ben, you added the patch
commit cd21bd290a57eed350d564bac403da9d6941a144
Author: Benjamin Marzinski <bmarzins at redhat.com>
Date: Wed Nov 10 12:52:20 2010 -0600
multipath: sort all pathgroups by priority
which did
@@ -25,14 +25,17 @@ path_group_prio_update (struct pathgroup * pgp)
pgp->enabled_paths++;
}
}
- pgp->priority = priority;
+ if (pgp->enabled_paths)
+ pgp->priority = priority / pgp->enabled_paths;
+ else
+
and
@@ -387,9 +386,7 @@ snprint_pg_pri (char * buff, size_t len, struct
pathgroup *
* Printing is another reason to update.
*/
path_group_prio_update(pgp);
- if (pgp->enabled_paths)
- avg_priority = pgp->priority / pgp->enabled_paths;
- return snprint_int(buff, len, avg_priority);
+
but then Hannes later added the patch:
commit 750db1f0dc08bf1d96ce64d32786dfe07b8ae3f9
Author: Hannes Reinecke <hare at suse.de>
Date: Wed Mar 17 08:32:51 2010 +0100
Display avg priority as group priority
which added it back in the print code:
- return snprint_int(buff, len, pgp->priority);
+ if (pgp->enabled_paths)
+ avg_priority = pgp->priority / pgp->enabled_paths;
+ return snprint_int(buff, len, avg_priority);
So when we print the prio, it ends up getting divided by the number of
enabled paths twice.
Was Hannes's patch a mistake? Should it be reverted?
More information about the dm-devel
mailing list