nvme: Increment ctrlr->outstanding_aborts when aborting req in ctrlr->queued_aborts
We had not incremented ctrlr->outstanding_aborts when aborting a request in the ctrlr->queued_aborts, and ctrlr->outstanding_aborts became negative. Fix the bug in this patch. Additionally add assert to check if ctrlr->outstanding_aborts is not negative. Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I58090286f070ba854bdea87f0f8ecb7810890338 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13452 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
parent
0a153e8af4
commit
ceaa4ee0f7
@ -1595,6 +1595,7 @@ nvme_ctrlr_abort_queued_aborts(struct spdk_nvme_ctrlr *ctrlr)
|
||||
|
||||
STAILQ_FOREACH_SAFE(req, &ctrlr->queued_aborts, stailq, tmp) {
|
||||
STAILQ_REMOVE_HEAD(&ctrlr->queued_aborts, stailq);
|
||||
ctrlr->outstanding_aborts++;
|
||||
|
||||
nvme_complete_request(req->cb_fn, req->cb_arg, req->qpair, req, &cpl);
|
||||
nvme_free_request(req);
|
||||
|
@ -589,6 +589,7 @@ nvme_ctrlr_cmd_abort_cpl(void *ctx, const struct spdk_nvme_cpl *cpl)
|
||||
|
||||
ctrlr = req->qpair->ctrlr;
|
||||
|
||||
assert(ctrlr->outstanding_aborts > 0);
|
||||
ctrlr->outstanding_aborts--;
|
||||
nvme_ctrlr_retry_queued_abort(ctrlr);
|
||||
|
||||
@ -637,6 +638,7 @@ nvme_complete_abort_request(void *ctx, const struct spdk_nvme_cpl *cpl)
|
||||
|
||||
ctrlr = req->qpair->ctrlr;
|
||||
|
||||
assert(ctrlr->outstanding_aborts > 0);
|
||||
ctrlr->outstanding_aborts--;
|
||||
nvme_ctrlr_retry_queued_abort(ctrlr);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user