Commit 6633ca57 authored by Junxiao Bi's avatar Junxiao Bi Committed by Linus Torvalds

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: default avatarJunxiao Bi <junxiao.bi@oracle.com>
Reviewed-by: default avatarRyan Ding <ryan.ding@oracle.com>
Reviewed-by: default avatarMark Fasheh <mfasheh@suse.de>
Cc: Gang He <ghe@suse.com>
Cc: rwxybh <rwxybh@126.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Joseph Qi <joseph.qi@huawei.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 88dbe98d
...@@ -356,7 +356,6 @@ static void o2hb_arm_timeout(struct o2hb_region *reg) ...@@ -356,7 +356,6 @@ static void o2hb_arm_timeout(struct o2hb_region *reg)
spin_unlock(&o2hb_live_lock); spin_unlock(&o2hb_live_lock);
} }
cancel_delayed_work(&reg->hr_write_timeout_work); cancel_delayed_work(&reg->hr_write_timeout_work);
reg->hr_last_timeout_start = jiffies;
schedule_delayed_work(&reg->hr_write_timeout_work, schedule_delayed_work(&reg->hr_write_timeout_work,
msecs_to_jiffies(O2HB_MAX_WRITE_TIMEOUT_MS)); msecs_to_jiffies(O2HB_MAX_WRITE_TIMEOUT_MS));
...@@ -1174,6 +1173,7 @@ static int o2hb_do_disk_heartbeat(struct o2hb_region *reg) ...@@ -1174,6 +1173,7 @@ static int o2hb_do_disk_heartbeat(struct o2hb_region *reg)
if (own_slot_ok) { if (own_slot_ok) {
o2hb_set_quorum_device(reg); o2hb_set_quorum_device(reg);
o2hb_arm_timeout(reg); o2hb_arm_timeout(reg);
reg->hr_last_timeout_start = jiffies;
} }
bail: bail:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment