[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[dm-devel] multipathd:checkerloop() - why not check path state before calling pathinfo(), which calls path priority callouts?



Looking through the mulitpathd code, in particular checkerloop() and the
below snippit.  I'm wondering why the path state isn't checked and then the
pathinfo() not called if the path state is PATH_DOWN (or maybe !PATH_UP).
Seems like we shouldn't be trying to refresh the priority if we know the
path is bad anyway, since the callouts all issue scsi passthru commands,
which will always fail.  Is this right or am I missing something?

Thanks.



           /*
            * path prio refreshing
            */
           condlog(4, "path prio refresh");
           pathinfo(pp, conf->hwtable, DI_PRIO);

           if (need_switch_pathgroup(pp->mpp, 0)) {
               if (pp->mpp->pgfailback > 0 &&
                   pp->mpp->failback_tick <= 0)
                   pp->mpp->failback_tick =
                       pp->mpp->pgfailback + 1;
               else if (pp->mpp->pgfailback ==
                       -FAILBACK_IMMEDIATE)
                   switch_pathgroup(pp->mpp);
           }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]