From 80d75fda06775b41e7707551d8ded32bc36b558b Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Tue, 30 Aug 2022 10:42:46 +0900 Subject: [PATCH] nvme_rdma: Clean up releasing poller from poll group We have two cases to call nvme_rdma_poll_group_put_poller(). For consistency, make the two cases the same sequence. This will make the next patch easier. The next patch will release poller from poll group when qpair is actually disconnected as possible as we can. Signed-off-by: Shuhei Matsumoto Change-Id: I4178113d5277240e287e83a57e97cf32fd0f7457 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14252 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Aleksey Marchuk Reviewed-by: Ben Walker --- lib/nvme/nvme_rdma.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/nvme/nvme_rdma.c b/lib/nvme/nvme_rdma.c index 7a9a9fbae..aa3fa476c 100644 --- a/lib/nvme/nvme_rdma.c +++ b/lib/nvme/nvme_rdma.c @@ -2165,14 +2165,15 @@ nvme_rdma_stale_conn_retry(struct nvme_rdma_qpair *rqpair) SPDK_NOTICELOG("%d times, retry stale connnection to qpair (cntlid:%u, qid:%u).\n", rqpair->stale_conn_retry_count, qpair->ctrlr->cntlid, qpair->id); - if (qpair->poll_group) { + if (rqpair->poller) { struct nvme_rdma_poll_group *group; + assert(qpair->poll_group); group = nvme_rdma_poll_group(qpair->poll_group); - if (rqpair->poller) { - nvme_rdma_poll_group_put_poller(group, rqpair->poller); - rqpair->poller = NULL; - } + + nvme_rdma_poll_group_put_poller(group, rqpair->poller); + + rqpair->poller = NULL; rqpair->cq = NULL; } @@ -2970,12 +2971,14 @@ nvme_rdma_poll_group_disconnect_qpair(struct spdk_nvme_qpair *qpair) struct nvme_rdma_qpair *rqpair = nvme_rdma_qpair(qpair); struct nvme_rdma_poll_group *group; - group = nvme_rdma_poll_group(qpair->poll_group); if (rqpair->poller) { + group = nvme_rdma_poll_group(qpair->poll_group); + nvme_rdma_poll_group_put_poller(group, rqpair->poller); + rqpair->poller = NULL; + rqpair->cq = NULL; } - rqpair->cq = NULL; return 0; }