numam-spdk/module
Shuhei Matsumoto 47b0d4275c bdev/nvme: Support abort IO by using spdk_nvme_ctrlr_cmd_abort_ext()
Change NVMe bdev module to enable abort as IO type.

Change _bdev_nvme_submit_request() to process abort request when the
IO type is abort.

The current thread tries aborting I/O command in the I/O qpair first.
If no I/O command to abort was found, send message to the thread which
is registered when creating controller. The controller thread tries
aborting admin command in the admin qpair next. If no admin command
to abort was found, complete the abort request with failure.

spdk_nvme_ctrlr_cmd_abort_ext() is used to try aborting command whose
cb_arg matches. qpair is set to NULL when trying to abort admin command.

Before calling spdk_nvme_ctrlr_cmd_abort_ext(), save the current
thread to process admin command completion correctly.

spdk_bdev_abort() supports any bdev module other than NVMe bdev
module and does not check CDW0 but checks only if the completion
status is success or failure. So add bdev_nvme_abort_done() and
converts the NVMe completion status to the bdev completion status.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: If6aebae0ba2f6c5834ee926e161af9c4d825f341
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2040
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Reviewed-by: Michael Haeuptle <michaelhaeuptle@gmail.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
2020-07-14 07:54:42 +00:00
..
accel idxd: add batch capability to accel framework and IDXD back-end 2020-07-10 07:31:09 +00:00
bdev bdev/nvme: Support abort IO by using spdk_nvme_ctrlr_cmd_abort_ext() 2020-07-14 07:54:42 +00:00
blob lib/bdev: Add spdk_bdev_abort API 2020-06-08 09:28:27 +00:00
blobfs mk/lib: add a check that major and minor version is set for libs. 2020-05-21 09:19:00 +00:00
env_dpdk mk/lib: add a check that major and minor version is set for libs. 2020-05-21 09:19:00 +00:00
event sock: Save socket subsystem configuration in JSON format 2020-07-13 08:40:15 +00:00
sock uring/sock: remove the SPDK_UNREACHABLE 2020-07-10 07:30:45 +00:00
Makefile global: rename copy to accel 2020-02-18 08:05:34 +00:00