akpm at linux-foundation.org
2016-Mar-23 20:12 UTC
[Ocfs2-devel] [patch 24/25] ocfs2: o2hb: fix hb hung time
From: Junxiao Bi <junxiao.bi at oracle.com> Subject: ocfs2: o2hb: fix hb hung time hr_last_timeout_start should be set as the last time where hb is still OK. When hb write timeout, hung time will be (jiffies - hr_last_timeout_start). Signed-off-by: Junxiao Bi <junxiao.bi at oracle.com> Reviewed-by: Ryan Ding <ryan.ding at oracle.com> Cc: Gang He <ghe at suse.com> Cc: rwxybh <rwxybh at 126.com> Cc: Mark Fasheh <mfasheh at suse.de> Cc: Joel Becker <jlbec at evilplan.org> Cc: Joseph Qi <joseph.qi at huawei.com> Signed-off-by: Andrew Morton <akpm at linux-foundation.org> --- fs/ocfs2/cluster/heartbeat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN fs/ocfs2/cluster/heartbeat.c~ocfs2-o2hb-fix-hb-hung-time fs/ocfs2/cluster/heartbeat.c --- a/fs/ocfs2/cluster/heartbeat.c~ocfs2-o2hb-fix-hb-hung-time +++ a/fs/ocfs2/cluster/heartbeat.c @@ -356,7 +356,6 @@ static void o2hb_arm_timeout(struct o2hb spin_unlock(&o2hb_live_lock); } cancel_delayed_work(®->hr_write_timeout_work); - reg->hr_last_timeout_start = jiffies; schedule_delayed_work(®->hr_write_timeout_work, msecs_to_jiffies(O2HB_MAX_WRITE_TIMEOUT_MS)); @@ -1175,6 +1174,7 @@ static int o2hb_do_disk_heartbeat(struct if (own_slot_ok) { o2hb_set_quorum_device(reg); o2hb_arm_timeout(reg); + reg->hr_last_timeout_start = jiffies; } bail: _