From 4982693fcfb722bc8256058f414ca9a0c7b397b0 Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Wed, 12 Dec 2018 19:49:40 +0800 Subject: [PATCH] mds: use mono_clock for reconnect timeout Signed-off-by: "Yan, Zheng" --- src/mds/Server.cc | 10 ++++------ src/mds/Server.h | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/mds/Server.cc b/src/mds/Server.cc index a26bdd88380..0a59a68406c 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -1156,7 +1156,7 @@ void Server::reconnect_clients(MDSInternalContext *reconnect_done_) // clients will get the mdsmap and discover we're reconnecting via the monitor. - reconnect_start = ceph_clock_now(); + reconnect_start = now; dout(1) << "reconnect_clients -- " << client_reconnect_gather.size() << " sessions" << dendl; mds->sessionmap.dump(); } @@ -1174,8 +1174,7 @@ void Server::handle_client_reconnect(const MClientReconnect::const_ref &m) return; } - utime_t delay = ceph_clock_now(); - delay -= reconnect_start; + auto delay = std::chrono::duration(clock::now() - reconnect_start).count(); dout(10) << " reconnect_start " << reconnect_start << " delay " << delay << dendl; bool deny = false; @@ -1391,9 +1390,8 @@ void Server::reconnect_tick() return; } - utime_t reconnect_end = reconnect_start; - reconnect_end += g_conf()->mds_reconnect_timeout; - if (ceph_clock_now() >= reconnect_end && + auto elapse = std::chrono::duration(clock::now() - reconnect_start).count(); + if (elapse >= g_conf()->mds_reconnect_timeout && !client_reconnect_gather.empty()) { dout(10) << "reconnect timed out" << dendl; diff --git a/src/mds/Server.h b/src/mds/Server.h index 618dfe04ae8..8281956820b 100644 --- a/src/mds/Server.h +++ b/src/mds/Server.h @@ -96,7 +96,7 @@ private: int failed_reconnects; bool reconnect_evicting; // true if I am waiting for evictions to complete // before proceeding to reconnect_gather_finish - utime_t reconnect_start; + time reconnect_start = clock::zero(); set client_reconnect_gather; // clients i need a reconnect msg from. feature_bitset_t supported_features; -- 2.47.3