diff --git a/lib/nvme/nvme_internal.h b/lib/nvme/nvme_internal.h index a49960534..c86674ee9 100644 --- a/lib/nvme/nvme_internal.h +++ b/lib/nvme/nvme_internal.h @@ -535,7 +535,6 @@ void nvme_qpair_enable(struct spdk_nvme_qpair *qpair); void nvme_qpair_disable(struct spdk_nvme_qpair *qpair); int nvme_qpair_submit_request(struct spdk_nvme_qpair *qpair, struct nvme_request *req); -void nvme_qpair_fail(struct spdk_nvme_qpair *qpair); int nvme_ns_construct(struct spdk_nvme_ns *ns, uint16_t id, struct spdk_nvme_ctrlr *ctrlr); diff --git a/lib/nvme/nvme_pcie.c b/lib/nvme/nvme_pcie.c index 739ac17fe..9ddfb2f97 100644 --- a/lib/nvme/nvme_pcie.c +++ b/lib/nvme/nvme_pcie.c @@ -1866,11 +1866,6 @@ nvme_pcie_qpair_process_completions(struct spdk_nvme_qpair *qpair, uint32_t max_ uint32_t num_completions = 0; struct spdk_nvme_ctrlr *ctrlr = qpair->ctrlr; - if (qpair->ctrlr->is_failed) { - nvme_qpair_fail(qpair); - return 0; - } - if (!nvme_pcie_qpair_check_enabled(qpair)) { /* * qpair is not enabled, likely because a controller reset is diff --git a/lib/nvme/nvme_qpair.c b/lib/nvme/nvme_qpair.c index 34c3a53a3..52d7a5141 100644 --- a/lib/nvme/nvme_qpair.c +++ b/lib/nvme/nvme_qpair.c @@ -33,6 +33,8 @@ #include "nvme_internal.h" +static void nvme_qpair_fail(struct spdk_nvme_qpair *qpair); + struct nvme_string { uint16_t value; const char *str; @@ -336,6 +338,11 @@ nvme_qpair_manual_complete_request(struct spdk_nvme_qpair *qpair, int32_t spdk_nvme_qpair_process_completions(struct spdk_nvme_qpair *qpair, uint32_t max_completions) { + if (qpair->ctrlr->is_failed) { + nvme_qpair_fail(qpair); + return 0; + } + return nvme_transport_qpair_process_completions(qpair, max_completions); } @@ -421,7 +428,7 @@ nvme_qpair_disable(struct spdk_nvme_qpair *qpair) nvme_transport_qpair_disable(qpair); } -void +static void nvme_qpair_fail(struct spdk_nvme_qpair *qpair) { struct nvme_request *req; diff --git a/test/lib/nvme/unit/nvme_ctrlr_c/nvme_ctrlr_ut.c b/test/lib/nvme/unit/nvme_ctrlr_c/nvme_ctrlr_ut.c index 698c1ec47..6b3b70e6e 100644 --- a/test/lib/nvme/unit/nvme_ctrlr_c/nvme_ctrlr_ut.c +++ b/test/lib/nvme/unit/nvme_ctrlr_c/nvme_ctrlr_ut.c @@ -211,11 +211,6 @@ spdk_nvme_ctrlr_cmd_get_log_page(struct spdk_nvme_ctrlr *ctrlr, uint8_t log_page return 0; } -void -nvme_qpair_fail(struct spdk_nvme_qpair *qpair) -{ -} - int nvme_qpair_submit_request(struct spdk_nvme_qpair *qpair, struct nvme_request *req) { diff --git a/test/lib/nvme/unit/nvme_pcie_c/nvme_pcie_ut.c b/test/lib/nvme/unit/nvme_pcie_c/nvme_pcie_ut.c index 15ba7ff9a..61f61fecb 100644 --- a/test/lib/nvme/unit/nvme_pcie_c/nvme_pcie_ut.c +++ b/test/lib/nvme/unit/nvme_pcie_c/nvme_pcie_ut.c @@ -65,11 +65,6 @@ struct io_request { bool invalid_second_addr; }; -void -nvme_qpair_fail(struct spdk_nvme_qpair *qpair) -{ -} - void nvme_ctrlr_fail(struct spdk_nvme_ctrlr *ctrlr, bool hot_remove) {