[multipathd] due failback not happening
authorChristophe Varoqui <root@xa-s05.(none)>
Fri, 17 Feb 2006 22:58:26 +0000 (23:58 +0100)
committerChristophe Varoqui <root@xa-s05.(none)>
Fri, 17 Feb 2006 22:58:26 +0000 (23:58 +0100)
If the failback period is set to more that four times the polling interval,
paths will never fail back. This is because the failback_tick keeps getting
reset. The attached patch fixes this.

Benjamin Marzinski, Redhat

multipathd/main.c

index b2a038b..2229991 100644 (file)
@@ -1265,7 +1265,8 @@ checkerloop (void *ap)
                        pathinfo(pp, conf->hwtable, DI_PRIO);
 
                        if (need_switch_pathgroup(pp->mpp, 0)) {
-                               if (pp->mpp->pgfailback > 0)
+                               if (pp->mpp->pgfailback > 0 &&
+                                   pp->mpp->failback_tick <= 0)
                                        pp->mpp->failback_tick =
                                                pp->mpp->pgfailback + 1;
                                else if (pp->mpp->pgfailback ==