]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: handle client reconnect gather race 19207/head
authorYan, Zheng <zyan@redhat.com>
Tue, 28 Nov 2017 09:06:47 +0000 (17:06 +0800)
committerYan, Zheng <zyan@redhat.com>
Tue, 28 Nov 2017 09:07:24 +0000 (17:07 +0800)
Fixes: http://tracker.ceph.com/issues/22263
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
src/mds/Server.cc

index e72d8a7504e351a5852de0d79452950d9bacfb29..f7dceee98b9b211c7b643918dc25d5d7ce30bf02 100644 (file)
@@ -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 "