summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYunfeiGuan <yunfei.guan@xtaotech.com>2017-04-10 07:48:47 +0200
committerYunfeiGuan <yunfei.guan@xtaotech.com>2017-04-10 07:48:47 +0200
commit4ef830c5d6f22bf0d4f82a8624c772ecbbda44a6 (patch)
treebe85e505d5be7377a786425383fc0dd91ce0e070 /src
parentMerge pull request #14260 from dmick/wip-workunit-clone-with-branch (diff)
downloadceph-4ef830c5d6f22bf0d4f82a8624c772ecbbda44a6.tar.xz
ceph-4ef830c5d6f22bf0d4f82a8624c772ecbbda44a6.zip
cephfs: fix mount point break off problem after mds switch occured
The hot-standby become active as we expected but the mount piont broken strangely when the active mds is down. The root reason is the new mds use last_cap_renews decoded from ESesson::replay in find_idle_sessions and wrongly killed the session. Maybe we should reset session->last_cap_renew to the current time when server send OPEN to client in reconnect stage. Fixes: http://tracker.ceph.com/issues/19437 Signed-off-by: Guan yunfei <yunfei.guan@xtaotech.com>
Diffstat (limited to 'src')
-rw-r--r--src/mds/Server.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mds/Server.cc b/src/mds/Server.cc
index 470b36f949c..0fcee574eeb 100644
--- a/src/mds/Server.cc
+++ b/src/mds/Server.cc
@@ -801,6 +801,7 @@ void Server::handle_client_reconnect(MClientReconnect *m)
// notify client of success with an OPEN
m->get_connection()->send_message(new MClientSession(CEPH_SESSION_OPEN));
+ session->last_cap_renew = ceph_clock_now();
mds->clog->debug() << "reconnect by " << session->info.inst << " after " << delay;
// snaprealms