From 103f5c62f5f02f88c73fde2a8c5619518f5ff8cc Mon Sep 17 00:00:00 2001 From: Alexey Marchuk Date: Fri, 14 May 2021 15:14:01 +0300 Subject: [PATCH] nvmf: Remove qpair from poll group when it is deleted That prevents nvmf target from starting to destroy poll groups prematurely Signed-off-by: Alexey Marchuk Change-Id: I833f6198ef0e3083fdadf70dd3b62844c905aceb Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7881 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Jim Harris --- lib/nvmf/nvmf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/nvmf/nvmf.c b/lib/nvmf/nvmf.c index a04beee78..d1ebe2331 100644 --- a/lib/nvmf/nvmf.c +++ b/lib/nvmf/nvmf.c @@ -929,6 +929,7 @@ _nvmf_transport_qpair_fini(void *ctx) { struct nvmf_qpair_disconnect_ctx *qpair_ctx = ctx; + spdk_nvmf_poll_group_remove(qpair_ctx->qpair); nvmf_transport_qpair_fini(qpair_ctx->qpair, _nvmf_transport_qpair_fini_complete, qpair_ctx); } @@ -998,9 +999,8 @@ _nvmf_qpair_destroy(void *ctx, int status) assert(qpair->state == SPDK_NVMF_QPAIR_DEACTIVATING); qpair_ctx->qid = qpair->qid; - spdk_nvmf_poll_group_remove(qpair); - if (!ctrlr || !ctrlr->thread) { + spdk_nvmf_poll_group_remove(qpair); nvmf_transport_qpair_fini(qpair, _nvmf_transport_qpair_fini_complete, qpair_ctx); return; }