]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
AsyncConnection: Close connection when unregistered connection met WAIT 5772/head
authorHaomai Wang <haomaiwang@gmail.com>
Wed, 2 Sep 2015 10:59:08 +0000 (18:59 +0800)
committerHaomai Wang <haomaiwang@gmail.com>
Wed, 2 Sep 2015 11:07:13 +0000 (19:07 +0800)
Fix #12912
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
src/msg/async/AsyncConnection.cc

index b0433e81f885099ca8ceec2279840ee65ea73fb0..cf58a6ea8aa19110e116b993210ee613b6bff876 100644 (file)
@@ -1506,6 +1506,10 @@ int AsyncConnection::handle_connect_reply(ceph_msg_connect &connect, ceph_msg_co
   }
   if (reply.tag == CEPH_MSGR_TAG_WAIT) {
     ldout(async_msgr->cct, 3) << __func__ << " connect got WAIT (connection race)" << dendl;
+    if (!once_ready) {
+      ldout(async_msgr->cct, 1) << __func__ << " got WAIT while connection isn't registered, just closed." << dendl;
+      goto fail;
+    }
     state = STATE_WAIT;
   }