From: Jin Cai Date: Wed, 13 Sep 2017 02:32:08 +0000 (+0800) Subject: msg/asyc/rmda: fix the bug of assert when Infiniband::recv_msg receives X-Git-Tag: v13.0.1~942^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F17688%2Fhead;p=ceph.git msg/asyc/rmda: fix the bug of assert when Infiniband::recv_msg receives disconnect message Signed-off-by: Jin Cai --- diff --git a/src/msg/async/rdma/RDMAConnectedSocketImpl.cc b/src/msg/async/rdma/RDMAConnectedSocketImpl.cc index 90fc8e5707f8..8f2ac4a59c14 100644 --- a/src/msg/async/rdma/RDMAConnectedSocketImpl.cc +++ b/src/msg/async/rdma/RDMAConnectedSocketImpl.cc @@ -200,7 +200,7 @@ int RDMAConnectedSocketImpl::try_connect(const entity_addr_t& peer_addr, const S void RDMAConnectedSocketImpl::handle_connection() { ldout(cct, 20) << __func__ << " QP: " << my_msg.qpn << " tcp_fd: " << tcp_fd << " notify_fd: " << notify_fd << dendl; int r = infiniband->recv_msg(cct, tcp_fd, peer_msg); - if (r < 0) { + if (r <= 0) { if (r != -EAGAIN) { dispatcher->perf_logger->inc(l_msgr_rdma_handshake_errors); ldout(cct, 1) << __func__ << " recv handshake msg failed." << dendl;