From 55c39cd008d538b1d9d5624eff981f84fc7f9f25 Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Mon, 1 Jun 2020 10:35:58 +0900 Subject: [PATCH] lib/nvmf: Change nvmf_ctrlr_abort_aer() to set completion status of aborted I/O to ABORTED nvmf_ctrlr_abort_aer() has not been used anywhere, and so we may be able to remove it, but let's update it to set the completion status of the aborted AERs to ABORTED for future potential use cases, and then rename it by nvmf_ctrlr_abort_all_aer() to avoid name conflict with the next patch. Setting the completion status to SUCCESS is not good in this case anyway. Signed-off-by: Shuhei Matsumoto Change-Id: Ie49936429b82dd05724cf8f10a1417e9c5304635 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2709 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Aleksey Marchuk Reviewed-by: Ben Walker --- lib/nvmf/ctrlr.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/nvmf/ctrlr.c b/lib/nvmf/ctrlr.c index 94a243790..25a5f9e3d 100644 --- a/lib/nvmf/ctrlr.c +++ b/lib/nvmf/ctrlr.c @@ -2500,10 +2500,16 @@ nvmf_qpair_free_aer(struct spdk_nvmf_qpair *qpair) void nvmf_ctrlr_abort_aer(struct spdk_nvmf_ctrlr *ctrlr) { + struct spdk_nvmf_request *req; int i; for (i = 0; i < ctrlr->nr_aer_reqs; i++) { - _nvmf_request_complete(ctrlr->aer_req[i]); + req = ctrlr->aer_req[i]; + + req->rsp->nvme_cpl.status.sct = SPDK_NVME_SCT_GENERIC; + req->rsp->nvme_cpl.status.sc = SPDK_NVME_SC_ABORTED_BY_REQUEST; + _nvmf_request_complete(req); + ctrlr->aer_req[i] = NULL; }