diff --git a/lib/nvmf/rdma.c b/lib/nvmf/rdma.c index 6586492f9..5b11606d4 100644 --- a/lib/nvmf/rdma.c +++ b/lib/nvmf/rdma.c @@ -701,6 +701,9 @@ spdk_nvmf_handle_disconnect(spdk_event_t event) struct spdk_nvmf_conn *conn = spdk_event_get_arg2(event); nvmf_disconnect(session, conn); + if (session && session->num_connections == 0) { + spdk_nvmf_session_destruct(session); + } } static int