From ad3bc9cbd98f9f5b7a61669004683328a1502b39 Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Thu, 17 Feb 2022 10:42:57 +0900 Subject: [PATCH] nvme: Set dnr to zero for abort_reqs() including a fix of degradation The patch nvme: Set dnr to zero for nvme_qpair_abort_reqs() https://github.com/spdk/spdk/commit/1b3172f726cf9e806977ff6949625cdb0a9542a6 did the change stated in the title. However, Revert "nvme/rdma: Correct qpair disconnect process" https://github.com/spdk/spdk/commit/c8f986c7ee63284ff73180c9a99acaf43d22882b destroyed it for RDMA transport. Additionally, we had still set DNR to 1 in nvme_qpair_init(). This patch fixes both. Signed-off-by: Shuhei Matsumoto Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11644 (master) (cherry picked from commit 75940304097ef6a73050b37f0e9c60bbf891c329) Change-Id: Iee60ac24aa7e04cce0f394014c9d9afc9d2b56ec Signed-off-by: Krzysztof Karas Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12473 Reviewed-by: Shuhei Matsumoto Reviewed-by: Tomasz Zawadzki Reviewed-by: Konrad Sztyber Reviewed-by: Jim Harris Tested-by: SPDK CI Jenkins --- lib/nvme/nvme_qpair.c | 2 +- lib/nvme/nvme_rdma.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/nvme/nvme_qpair.c b/lib/nvme/nvme_qpair.c index a95dfb97c..c48d4083b 100644 --- a/lib/nvme/nvme_qpair.c +++ b/lib/nvme/nvme_qpair.c @@ -863,7 +863,7 @@ nvme_qpair_deinit(struct spdk_nvme_qpair *qpair) { struct nvme_error_cmd *cmd, *entry; - nvme_qpair_abort_queued_reqs(qpair, 1); + nvme_qpair_abort_queued_reqs(qpair, 0); _nvme_qpair_complete_abort_queued_reqs(qpair); nvme_qpair_complete_error_reqs(qpair); diff --git a/lib/nvme/nvme_rdma.c b/lib/nvme/nvme_rdma.c index ab852feba..bdbaa620f 100644 --- a/lib/nvme/nvme_rdma.c +++ b/lib/nvme/nvme_rdma.c @@ -1857,7 +1857,7 @@ nvme_rdma_ctrlr_delete_io_qpair(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme_ return 0; } - nvme_rdma_qpair_abort_reqs(qpair, 1); + nvme_rdma_qpair_abort_reqs(qpair, 0); nvme_qpair_deinit(qpair); nvme_rdma_put_memory_domain(rqpair->memory_domain);