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...@oracle.com>
Reviewed-by: Ryan Ding <ryan.d...@oracle.com>
Cc: Gang He <g...@suse.com>
Cc: rwxybh <rwx...@126.com>
Cc: Mark Fasheh <mfas...@suse.de>
Cc: Joel Becker <jl...@evilplan.org>
Cc: Joseph Qi <joseph...@huawei.com>
Signed-off-by: Andrew Morton <a...@linux-foundation.org>
---
 fs/ocfs2/cluster/heartbeat.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ocfs2/cluster/heartbeat.c b/fs/ocfs2/cluster/heartbeat.c
index c040fc3dd605..8ec85cac894e 100644
--- a/fs/ocfs2/cluster/heartbeat.c
+++ b/fs/ocfs2/cluster/heartbeat.c
@@ -357,7 +357,6 @@ static void o2hb_arm_timeout(struct o2hb_region *reg)
                spin_unlock(&o2hb_live_lock);
        }
        cancel_delayed_work(&reg->hr_write_timeout_work);
-       reg->hr_last_timeout_start = jiffies;
        schedule_delayed_work(&reg->hr_write_timeout_work,
                              msecs_to_jiffies(O2HB_MAX_WRITE_TIMEOUT_MS));
 
@@ -1175,6 +1174,7 @@ static int o2hb_do_disk_heartbeat(struct o2hb_region *reg)
        if (own_slot_ok) {
                o2hb_set_quorum_device(reg);
                o2hb_arm_timeout(reg);
+               reg->hr_last_timeout_start = jiffies;
        }
 
 bail:
-- 
1.7.9.5


_______________________________________________
Ocfs2-devel mailing list
Ocfs2-devel@oss.oracle.com
https://oss.oracle.com/mailman/listinfo/ocfs2-devel

Reply via email to