[libmultipath] add pathcountgr() helper function
authorChristophe Varoqui <root@xa-s05.(none)>
Sun, 12 Mar 2006 14:16:40 +0000 (15:16 +0100)
committerChristophe Varoqui <root@xa-s05.(none)>
Sun, 12 Mar 2006 14:16:40 +0000 (15:16 +0100)
Teach pathcount() to use it.

Edward Goggin, EMC

libmultipath/structs.c
libmultipath/structs.h

index c6692f3..024e790 100644 (file)
@@ -340,17 +340,28 @@ find_path_by_devt (vector pathvec, char * dev_t)
 }
 
 extern int
+pathcountgr (struct pathgroup * pgp, int state)
+{
+       struct path *pp;
+       int count = 0;
+       int i;
+
+       vector_foreach_slot (pgp->paths, pp, i)
+               if ((pp->state == state) || (state < 0))
+                       count++;
+
+       return count;
+}
+
+extern int
 pathcount (struct multipath * mpp, int state)
 {
        struct pathgroup *pgp;
-       struct path *pp;
-       int i, j;
        int count = 0;
+       int i;
 
        vector_foreach_slot (mpp->pg, pgp, i)
-               vector_foreach_slot (pgp->paths, pp, j)
-                       if ((pp->state == state) || (state < 0))
-                               count++;
+               count += pathcountgr(pgp, state);
 
        return count;
 }
index b46b700..2b96cfb 100644 (file)
@@ -184,6 +184,7 @@ struct multipath * find_mp_by_minor (vector mp, int minor);
 struct path * find_path_by_devt (vector pathvec, char * devt);
 struct path * find_path_by_dev (vector pathvec, char * dev);
 
+int pathcountgr (struct pathgroup *, int);
 int pathcount (struct multipath *, int);
 
 char sysfs_path[FILE_NAME_SIZE];