From 141fbe1054ea78b995869c1ca002de51c6a250f7 Mon Sep 17 00:00:00 2001 From: ston3lu Date: Mon, 29 Dec 2025 08:52:21 +0000 Subject: [PATCH] clean RDMA entry --- src/client/msgr_stop.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/client/msgr_stop.cpp b/src/client/msgr_stop.cpp index aa47d238..e6c7f39f 100644 --- a/src/client/msgr_stop.cpp +++ b/src/client/msgr_stop.cpp @@ -85,6 +85,16 @@ void osd_messenger_t::stop_client(int peer_fd, bool force, bool force_delete) osd_peer_fds.erase(osd_it); } } +#ifdef WITH_RDMA + if (cl->rdma_conn && cl->rdma_conn->cmid) + { + auto rdma_it = rdmacm_connections.find(cl->rdma_conn->cmid); + if (rdma_it != rdmacm_connections.end() && rdma_it->second == cl) + { + rdmacm_connections.erase(rdma_it); + } + } +#endif #ifndef __MOCK__ // Then remove FD from the eventloop so we don't accidentally read something tfd->set_fd_handler(peer_fd, false, NULL);