diff options
author | YunfeiGuan <yunfei.guan@xtaotech.com> | 2017-04-10 07:48:47 +0200 |
---|---|---|
committer | YunfeiGuan <yunfei.guan@xtaotech.com> | 2017-04-10 07:48:47 +0200 |
commit | 4ef830c5d6f22bf0d4f82a8624c772ecbbda44a6 (patch) | |
tree | be85e505d5be7377a786425383fc0dd91ce0e070 /src | |
parent | Merge pull request #14260 from dmick/wip-workunit-clone-with-branch (diff) | |
download | ceph-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.cc | 1 |
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 |