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 reet. The attached patch fixes this.
diff -urpN mp-devel-clean/multipathd/main.c mp-devel-patched/multipathd/main.c --- mp-devel-clean/multipathd/main.c 2006-02-15 15:26:13.000000000 -0600 +++ mp-devel-patched/multipathd/main.c 2006-02-15 17:48:56.000000000 -0600 @@ -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 ==
-- dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel