From 028a6cab688ea19b100fca4323f33d68d27e3e0f Mon Sep 17 00:00:00 2001 From: ston3lu Date: Mon, 29 Dec 2025 08:52:21 +0000 Subject: [PATCH] Clean RDMA entry I accept Vitastor CLA agreement: https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/CLA-en.md --- 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);