[dm-devel] Failback delay in multipathd is 1 second shorter

Kiyoshi Ueda k-ueda at ct.jp.nec.com
Wed Oct 12 19:52:24 UTC 2005


Hi Christophe,

Current delay time of defered failback is 1 second shorter than
"failback" setting in multipath.conf, because defered_failback_tick()
is called before sleep(1) in checkerloop().

diff -rup git/multipathd/main.c failback-tick-fix/multipathd/main.c
--- git/multipathd/main.c	2005-10-12 10:08:28.000000000 -0400
+++ failback-tick-fix/multipathd/main.c	2005-10-12 14:16:12.000000000 -0400
@@ -1242,7 +1242,7 @@ checkerloop (void *ap)
 				 */
 				if (pp->mpp->pgfailback > 0)
 					pp->mpp->failback_tick =
-						pp->mpp->pgfailback;
+						pp->mpp->pgfailback + 1;
 				else if (pp->mpp->pgfailback == -FAILBACK_IMMEDIATE &&
 				    need_switch_pathgroup(pp->mpp, 1))
 					switch_pathgroup(pp->mpp);
@@ -1281,7 +1281,7 @@ checkerloop (void *ap)
 			if (need_switch_pathgroup(pp->mpp, 0)) {
 				if (pp->mpp->pgfailback > 0)
 					pp->mpp->failback_tick =
-						pp->mpp->pgfailback;
+						pp->mpp->pgfailback + 1;
 				else if (pp->mpp->pgfailback ==
 						-FAILBACK_IMMEDIATE)
 					switch_pathgroup(pp->mpp);

Regards,
Kiyoshi Ueda




More information about the dm-devel mailing list