ocfs2: o2hb: increase unsteady iterations
authorJunxiao Bi <junxiao.bi@oracle.com>
Thu, 14 Jan 2016 23:17:15 +0000 (15:17 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 15 Jan 2016 00:00:49 +0000 (16:00 -0800)
When run multiple xattr test of ocfs2-test on a three-nodes cluster,
mount failed sometimes with the following message.

  o2hb: Unable to stabilize heartbeart on region D18B775E758D4D80837E8CF3D086AD4A (xvdb)

Stabilize heartbeat depends on the timing order to mount ocfs2 from
cluster nodes and how fast the tcp connections are established.  So
increase unsteady interations to leave more time for it.

Signed-off-by: Junxiao Bi <junxiao.bi@oracle.com>
Cc: Mark Fasheh <mfasheh@suse.de>
Cc: Joel Becker <jlbec@evilplan.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/ocfs2/cluster/heartbeat.c

index 709fbbd..a3cc6d2 100644 (file)
@@ -1780,8 +1780,8 @@ static ssize_t o2hb_region_dev_store(struct config_item *item,
        }
        ++live_threshold;
        atomic_set(&reg->hr_steady_iterations, live_threshold);
-       /* unsteady_iterations is double the steady_iterations */
-       atomic_set(&reg->hr_unsteady_iterations, (live_threshold << 1));
+       /* unsteady_iterations is triple the steady_iterations */
+       atomic_set(&reg->hr_unsteady_iterations, (live_threshold * 3));
 
        hb_task = kthread_run(o2hb_thread, reg, "o2hb-%s",
                              reg->hr_item.ci_name);