47b0d4275c
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> |
||
---|---|---|
.. | ||
accel | ||
bdev | ||
blob | ||
blobfs | ||
env_dpdk | ||
event | ||
sock | ||
Makefile |