lib/nvme: Factor out retry queued abort into a helper function
To reuse the code for the upcoming new function spdk_nvme_ctrlr_cmd_abort_ext(), factor out the operation to retry queued abort into an new helper function nvme_ctrlr_retry_queued_abort(). Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Change-Id: I56bdfefe2c54990c9fd0463303b3d65ccf6e8942 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2493 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Michael Haeuptle <michaelhaeuptle@gmail.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
9d4751a550
commit
5cbc1d5cae
@ -565,16 +565,11 @@ spdk_nvme_ctrlr_cmd_get_log_page(struct spdk_nvme_ctrlr *ctrlr, uint8_t log_page
|
||||
}
|
||||
|
||||
static void
|
||||
nvme_ctrlr_cmd_abort_cpl(void *ctx, const struct spdk_nvme_cpl *cpl)
|
||||
nvme_ctrlr_retry_queued_abort(struct spdk_nvme_ctrlr *ctrlr)
|
||||
{
|
||||
struct nvme_request *req, *next, *tmp;
|
||||
struct spdk_nvme_ctrlr *ctrlr;
|
||||
int rc;
|
||||
struct nvme_request *next, *tmp;
|
||||
int rc;
|
||||
|
||||
req = ctx;
|
||||
ctrlr = (struct spdk_nvme_ctrlr *)req->user_buffer;
|
||||
|
||||
ctrlr->outstanding_aborts--;
|
||||
STAILQ_FOREACH_SAFE(next, &ctrlr->queued_aborts, stailq, tmp) {
|
||||
STAILQ_REMOVE_HEAD(&ctrlr->queued_aborts, stailq);
|
||||
ctrlr->outstanding_aborts++;
|
||||
@ -592,6 +587,19 @@ nvme_ctrlr_cmd_abort_cpl(void *ctx, const struct spdk_nvme_cpl *cpl)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
nvme_ctrlr_cmd_abort_cpl(void *ctx, const struct spdk_nvme_cpl *cpl)
|
||||
{
|
||||
struct nvme_request *req;
|
||||
struct spdk_nvme_ctrlr *ctrlr;
|
||||
|
||||
req = ctx;
|
||||
ctrlr = (struct spdk_nvme_ctrlr *)req->user_buffer;
|
||||
|
||||
ctrlr->outstanding_aborts--;
|
||||
nvme_ctrlr_retry_queued_abort(ctrlr);
|
||||
|
||||
req->user_cb_fn(req->user_cb_arg, cpl);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user