vector_foreach_slot(allpaths->pathvec, pp, i) {
c += sprintf(c, "%10s: ", pp->dev);
+
+ if (!pp->mpp) {
+ c += sprintf(c, "[orphan]\n");
+ continue;
+ }
+
c += sprintf(c, "state %i, ", pp->state);
j = pp->tick;
condlog(4, "tick");
vector_foreach_slot (allpaths->pathvec, pp, i) {
+ if (!pp->mpp)
+ continue;
+
if (pp->tick) {
/*
* don't check this path yet
/*
* cancel scheduled failback
*/
- if (pp->mpp)
- pp->mpp->failback_tick = 0;
+ pp->mpp->failback_tick = 0;
continue;
}
/*
* schedule defered failback
*/
- if (pp->mpp && pp->mpp->pgfailback > 0)
+ if (pp->mpp->pgfailback > 0)
pp->mpp->failback_tick =
pp->mpp->pgfailback;
- if (pp->mpp &&
- pp->mpp->pgfailback == FAILBACK_IMMEDIATE)
+ if (pp->mpp->pgfailback == FAILBACK_IMMEDIATE)
switch_pathgroup(pp->mpp);
}
else if (newstate == PATH_UP || newstate == PATH_GHOST) {
* PATH_UP for last two checks
* defered failback getting sooner
*/
- if (pp->mpp && pp->mpp->pgfailback > 0) {
+ if (pp->mpp->pgfailback > 0) {
if (pp->mpp->failback_tick > 0) {
pp->mpp->failback_tick--;