Edward Goggin proposed to move it.
Agreed, though I prefer to put it here.
return NULL;
}
+extern int
+pathcount (struct multipath * mpp, int state)
+{
+ struct pathgroup *pgp;
+ struct path *pp;
+ int i, j;
+ int count = 0;
+
+ vector_foreach_slot (mpp->pg, pgp, i)
+ vector_foreach_slot (pgp->paths, pp, j)
+ if (pp->state == state)
+ count++;
+
+ return count;
+}
+
struct path * find_path_by_devt (vector pathvec, char * devt);
struct path * find_path_by_dev (vector pathvec, char * dev);
+int pathcount (struct multipath *, int);
+
char sysfs_path[FILE_NAME_SIZE];
#endif
if (mpp->pgpolicyfn && mpp->pgpolicyfn(mpp))
return 1;
+ mpp->nr_active = pathcount(mpp, PATH_UP);
+
/*
* ponders each path group and determine highest prio pg
* to switch over (default to first)
return 0;
}
-static int
-pathcount (struct multipath * mpp, int state)
-{
- struct pathgroup *pgp;
- struct path *pp;
- int i, j;
- int count = 0;
-
- vector_foreach_slot (mpp->pg, pgp, i)
- vector_foreach_slot (pgp->paths, pp, j)
- if (pp->state == state)
- count++;
- return count;
-}
-
static void
compute_pgid(struct pathgroup * pgp)
{
dm_get_uuid(mpp->alias, mpp->wwid);
}
-static int
-pathcount (struct multipath *mpp, int state)
-{
- struct pathgroup *pgp;
- struct path *pp;
- int i, j;
- int count = 0;
-
- vector_foreach_slot (mpp->pg, pgp, i)
- vector_foreach_slot (pgp->paths, pp, j)
- if (pp->state == state)
- count++;
- return count;
-}
-
/*
* mpp->no_path_retry:
* -2 (QUEUE) : queue_if_no_path enabled, never turned off