From: Changcheng Liu Date: Tue, 27 Aug 2019 12:12:12 +0000 (+0800) Subject: msg/async/rdma: RDMAIWARPConnectedSocketImpl inherit member from base class X-Git-Tag: v15.1.0~1481^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=97d6d0c12426f9d3c80e98bbbcf1509164430451;p=ceph.git msg/async/rdma: RDMAIWARPConnectedSocketImpl inherit member from base class RDMAIWARPConnectedSocketImpl is derived from RDMAConnectedSocketImpl which already has member "is_server" & "local/peer_qpn" & "get_local_qpn". Signed-off-by: Changcheng Liu --- diff --git a/src/msg/async/rdma/RDMAIWARPConnectedSocketImpl.cc b/src/msg/async/rdma/RDMAIWARPConnectedSocketImpl.cc index df1b9ab186e..3d9c35de4b9 100644 --- a/src/msg/async/rdma/RDMAIWARPConnectedSocketImpl.cc +++ b/src/msg/async/rdma/RDMAIWARPConnectedSocketImpl.cc @@ -19,7 +19,7 @@ RDMAIWARPConnectedSocketImpl::RDMAIWARPConnectedSocketImpl(CephContext *cct, sha cm_id = info->cm_id; cm_channel = info->cm_channel; status = RDMA_ID_CREATED; - remote_qpn = info->qp_num; + peer_qpn = info->qp_num; if (alloc_resource()) { close_notify(); return; @@ -30,7 +30,8 @@ RDMAIWARPConnectedSocketImpl::RDMAIWARPConnectedSocketImpl(CephContext *cct, sha }, false); status = RESOURCE_ALLOCATED; local_qpn = qp->get_local_qp_number(); - qp->get_local_cm_meta().local_qpn = local_qpn; + qp->get_local_cm_meta().peer_qpn = peer_qpn; + qp->get_peer_cm_meta().local_qpn = peer_qpn; } else { is_server = false; cm_channel = rdma_create_event_channel(); @@ -114,8 +115,10 @@ void RDMAIWARPConnectedSocketImpl::handle_cm_connection() { ldout(cct, 20) << __func__ << " qp_num=" << cm_id->qp->qp_num << dendl; status = CONNECTED; if (!is_server) { - remote_qpn = event->param.conn.qp_num; + peer_qpn = event->param.conn.qp_num; activate(); + qp->get_local_cm_meta().peer_qpn = peer_qpn; + qp->get_peer_cm_meta().local_qpn = peer_qpn; notify(); } break; diff --git a/src/msg/async/rdma/RDMAStack.h b/src/msg/async/rdma/RDMAStack.h index f82aba549ce..5424b337a43 100644 --- a/src/msg/async/rdma/RDMAStack.h +++ b/src/msg/async/rdma/RDMAStack.h @@ -269,7 +269,6 @@ class RDMAIWARPConnectedSocketImpl : public RDMAConnectedSocketImpl { virtual void close() override; virtual void shutdown() override; virtual void handle_cm_connection(); - uint32_t get_local_qpn() const { return local_qpn; } void activate(); int alloc_resource(); void close_notify(); @@ -277,10 +276,7 @@ class RDMAIWARPConnectedSocketImpl : public RDMAConnectedSocketImpl { private: rdma_cm_id *cm_id; rdma_event_channel *cm_channel; - uint32_t local_qpn; - uint32_t remote_qpn; EventCallbackRef cm_con_handler; - bool is_server; std::mutex close_mtx; std::condition_variable close_condition; bool closed;