From 105e550743e3872fa4b82affd963af2a8387df51 Mon Sep 17 00:00:00 2001 From: Nikanth Karthikesan Date: Wed, 17 Mar 2010 12:44:25 +0530 Subject: [PATCH] multipath: display average priority as group priority Display avg priority as group priority Now average priority is used as path group priority, instead of sum of priorities of the paths. But while displaying group priority, sum is being displayed. Change it to print the average priority. When there are no enabled paths, print 0 as priority. Signed-off-by: Nikanth Karthikesan --- libmultipath/print.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libmultipath/print.c b/libmultipath/print.c index 10e5ce5..9753fe2 100644 --- a/libmultipath/print.c +++ b/libmultipath/print.c @@ -378,6 +378,7 @@ snprint_pg_selector (char * buff, size_t len, struct pathgroup * pgp) static int snprint_pg_pri (char * buff, size_t len, struct pathgroup * pgp) { + int avg_priority = 0; /* * path group priority is not updated for every path prio change, * but only on switch group code path. @@ -385,7 +386,9 @@ snprint_pg_pri (char * buff, size_t len, struct pathgroup * pgp) * Printing is another reason to update. */ path_group_prio_update(pgp); - 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); } static int -- 2.7.4