]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
msg/async: unregister con from accept vs mark_down race
authorxie xingguo <xie.xingguo@zte.com.cn>
Tue, 15 Jan 2019 05:36:12 +0000 (13:36 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Tue, 15 Jan 2019 06:29:58 +0000 (14:29 +0800)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/msg/async/AsyncConnection.cc

index ea03f869074089d7a1d9d88bae2353ca3b79ed3d..c54a5b7e1c4f5f22efd553876fb1d055a5d2a4c5 100644 (file)
@@ -1875,6 +1875,7 @@ ssize_t AsyncConnection::handle_connect_msg(ceph_msg_connect &connect, bufferlis
   if (state != STATE_ACCEPTING_WAIT_CONNECT_MSG_AUTH) {
     ldout(async_msgr->cct, 1) << __func__ << " state changed while accept_conn, it must be mark_down" << dendl;
     assert(state == STATE_CLOSED || state == STATE_NONE);
+    async_msgr->unregister_conn(this);
     goto fail_registered;
   }