Spdk/test/unit/lib/bdev
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
..
bdev_zone.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
bdev.c bdev: Calculate max_write_zeroes once at bdev registration for fallback case 2023-05-09 17:58:11 +08:00
compress.c bdev/compress: Port to use accel_fw instead of compressdev 2023-01-20 10:26:21 +00:00
crypto.c bdev/crypto: complete IOs on ENOMEM from accel 2023-05-09 17:58:11 +08:00
gpt update Intel copyright notices 2022-11-10 08:28:53 +00:00
mt accel: make spdk_accel_sequence_finish() void 2023-05-09 17:58:11 +08:00
nvme bdev/nvme: Reset I/O disables retry when destroying I/O qpairs 2023-05-09 17:58:11 +08:00
part.c bdev: Calculate max_copy once at bdev registration for fallback case 2023-05-09 17:58:11 +08:00
raid bdev: remove spdk_bdev_ext_io_opts from spdk_bdev_io 2023-02-16 10:09:35 +00:00
scsi_nvme.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
vbdev_lvol.c lvol: add spdk_lvol_is_degraded 2023-05-09 17:58:11 +08:00
vbdev_zone_block.c bdev: add claim type 2023-01-05 23:28:32 +00:00
Makefile bdev/pmem: Removing bdev pmem - updated tests 2023-03-09 09:21:23 +00:00