From: Yan, Zheng Date: Tue, 28 Nov 2017 09:06:47 +0000 (+0800) Subject: mds: handle client reconnect gather race X-Git-Tag: v12.2.3~156^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c514d3d427176eb957c3cd57b99b7ed590468ed7;p=ceph.git mds: handle client reconnect gather race Fixes: http://tracker.ceph.com/issues/22263 Signed-off-by: "Yan, Zheng" (cherry picked from commit e4ecf26a8ef622f8290129a682afb1c64b3e7e00) --- diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 38c44523e95c..3956dcf8cd87 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -895,7 +895,7 @@ void Server::handle_client_reconnect(MClientReconnect *m) dout(10) << " reconnect_start " << reconnect_start << " delay " << delay << dendl; bool deny = false; - if (!mds->is_reconnect()) { + if (!mds->is_reconnect() || mds->get_want_state() != CEPH_MDS_STATE_RECONNECT || reconnect_evicting) { // XXX maybe in the future we can do better than this? dout(1) << " no longer in reconnect state, ignoring reconnect, sending close" << dendl; mds->clog->info() << "denied reconnect attempt (mds is "