Spdk/module
Shuhei Matsumoto 610265c9fa bdev/nvme: Reset I/O disables retry when destroying I/O qpairs
As the RBD bdev module does, the upper layer wants the reset command
to abort or complete all I/Os submitted before the reset command.

To satisfy this requirement, return all aborted I/Os by deleting I/O
qpairs to the upper layer without retry. To return all aborted I/Os
by deleting I/O qpairs, enable DNR for I/O qpairs. These I/O qpairs
are deleted and recreated. Hence, we do not have to disable DNR.

No more I/O comes at a reset I/O because the generic bdev layer already
blocks I/O submission. However, some I/Os may be queued for retry even
after deleting I/O qpairs. Hence, abort all queued I/Os for the bdev
before completing the reset I/O.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I9830026ef5f2b9c28aee92e6ce4018ed8541c808
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16836
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
2023-05-09 17:58:11 +08:00
..
accel accel/dpdk_cryptodev: Fix use of uninitialized variable 2023-05-09 17:58:11 +08:00
bdev bdev/nvme: Reset I/O disables retry when destroying I/O qpairs 2023-05-09 17:58:11 +08:00
blob blob_bdev: defer free until all channels destroyed 2023-03-28 03:57:35 +00:00
blobfs module/blobfs: Use error_response() rather than bool_response(false) for JSON RPCs 2023-01-31 21:40:09 +00:00
env_dpdk so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
event nvmf: add spdk_nvmf_request_copy_*_buf() 2023-02-13 13:50:51 +00:00
scheduler module/scheduler: Silence warning about rte_power under clean target 2023-05-09 17:58:11 +08:00
sock sock/posix: Fix sendmsg_idx rollover for zcopy 2023-05-09 17:58:11 +08:00
vfu_device so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
Makefile update Intel copyright notices 2022-11-10 08:28:53 +00:00