nvme: Add ctrlr_abort_queued_aborts() into qpair_abort_all_queued_reqs()
nvme_qpair_abort_all_queued_reqs() aborts error injections, queued requests, aborting queued requests, and outstanding requests. (Aborting outstanding requests depends on transports.) However, it did not abort queued aborts. Include nvme_ctrlr_abort_queued_aborts() into nvme_qpair_abort_all_queued_reqs() to do really the name of the function indicates. nvme_ctrlr_abort_queued_aborts() has been called in a few cases, but we do not care duplication. Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I19102cc6603a72ce5c398a7947cb4d606b692991 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12849 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Vasuki Manikarnike <vasuki.manikarnike@hpe.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot
This commit is contained in:
parent
7104c8332d
commit
4be6d30438
@ -1585,7 +1585,7 @@ error:
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
void
|
||||||
nvme_ctrlr_abort_queued_aborts(struct spdk_nvme_ctrlr *ctrlr)
|
nvme_ctrlr_abort_queued_aborts(struct spdk_nvme_ctrlr *ctrlr)
|
||||||
{
|
{
|
||||||
struct nvme_request *req, *tmp;
|
struct nvme_request *req, *tmp;
|
||||||
|
@ -1176,6 +1176,7 @@ void nvme_ctrlr_process_async_event(struct spdk_nvme_ctrlr *ctrlr,
|
|||||||
const struct spdk_nvme_cpl *cpl);
|
const struct spdk_nvme_cpl *cpl);
|
||||||
void nvme_ctrlr_disconnect_qpair(struct spdk_nvme_qpair *qpair);
|
void nvme_ctrlr_disconnect_qpair(struct spdk_nvme_qpair *qpair);
|
||||||
void nvme_ctrlr_complete_queued_async_events(struct spdk_nvme_ctrlr *ctrlr);
|
void nvme_ctrlr_complete_queued_async_events(struct spdk_nvme_ctrlr *ctrlr);
|
||||||
|
void nvme_ctrlr_abort_queued_aborts(struct spdk_nvme_ctrlr *ctrlr);
|
||||||
int nvme_qpair_init(struct spdk_nvme_qpair *qpair, uint16_t id,
|
int nvme_qpair_init(struct spdk_nvme_qpair *qpair, uint16_t id,
|
||||||
struct spdk_nvme_ctrlr *ctrlr,
|
struct spdk_nvme_ctrlr *ctrlr,
|
||||||
enum spdk_nvme_qprio qprio,
|
enum spdk_nvme_qprio qprio,
|
||||||
|
@ -1055,6 +1055,9 @@ nvme_qpair_abort_all_queued_reqs(struct spdk_nvme_qpair *qpair, uint32_t dnr)
|
|||||||
nvme_qpair_complete_error_reqs(qpair);
|
nvme_qpair_complete_error_reqs(qpair);
|
||||||
nvme_qpair_abort_queued_reqs(qpair, dnr);
|
nvme_qpair_abort_queued_reqs(qpair, dnr);
|
||||||
_nvme_qpair_complete_abort_queued_reqs(qpair);
|
_nvme_qpair_complete_abort_queued_reqs(qpair);
|
||||||
|
if (nvme_qpair_is_admin_queue(qpair)) {
|
||||||
|
nvme_ctrlr_abort_queued_aborts(qpair->ctrlr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -32,6 +32,7 @@ DEFINE_STUB_V(nvme_transport_ctrlr_disconnect_qpair, (struct spdk_nvme_ctrlr *ct
|
|||||||
DEFINE_STUB_V(nvme_ctrlr_disconnect_qpair, (struct spdk_nvme_qpair *qpair));
|
DEFINE_STUB_V(nvme_ctrlr_disconnect_qpair, (struct spdk_nvme_qpair *qpair));
|
||||||
|
|
||||||
DEFINE_STUB_V(nvme_ctrlr_complete_queued_async_events, (struct spdk_nvme_ctrlr *ctrlr));
|
DEFINE_STUB_V(nvme_ctrlr_complete_queued_async_events, (struct spdk_nvme_ctrlr *ctrlr));
|
||||||
|
DEFINE_STUB_V(nvme_ctrlr_abort_queued_aborts, (struct spdk_nvme_ctrlr *ctrlr));
|
||||||
|
|
||||||
void
|
void
|
||||||
nvme_ctrlr_fail(struct spdk_nvme_ctrlr *ctrlr, bool hot_remove)
|
nvme_ctrlr_fail(struct spdk_nvme_ctrlr *ctrlr, bool hot_remove)
|
||||||
|
Loading…
Reference in New Issue
Block a user