Spdk/test/unit/lib
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: append support for crc32c 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: esnap clones are not clones 2023-05-09 17:58:11 +08:00
blobfs update Intel copyright notices 2022-11-10 08:28:53 +00:00
dma Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
env_dpdk update Intel copyright notices 2022-11-10 08:28:53 +00:00
event thread: use spdk_thread_get_app_thread instead of _spdk_get_app_thread 2023-02-24 12:46:27 +00:00
ftl update Intel copyright notices 2022-11-10 08:28:53 +00:00
idxd update Intel copyright notices 2022-11-10 08:28:53 +00:00
init subsystem: assert all subsystems initialized on app thread 2022-11-23 08:22:04 +00:00
ioat update Intel copyright notices 2022-11-10 08:28:53 +00:00
iscsi iscsi: fix segfault when r2t 2022-11-29 17:21:18 +00:00
json json: add spdk_json_write_named_double 2022-11-22 10:01:43 +00:00
jsonrpc update Intel copyright notices 2022-11-10 08:28:53 +00:00
log log: add deprecated tracking API 2022-12-07 17:45:53 +00:00
lvol lvol: add spdk_lvol_is_degraded 2023-05-09 17:58:11 +08:00
notify update Intel copyright notices 2022-11-10 08:28:53 +00:00
nvme nvme: The upper layer controls DNR dynamically for I/O aborts 2023-05-09 17:58:11 +08:00
nvmf ut/fc: Cleanup transport cleanup tests 2023-05-09 17:58:11 +08:00
rdma rdma: Maintain per device PD which is persistent across reconnect 2022-08-12 08:59:43 +00:00
reduce bdev/compress: Port to use accel_fw instead of compressdev 2023-01-20 10:26:21 +00:00
rpc update Intel copyright notices 2022-11-10 08:28:53 +00:00
scsi update Intel copyright notices 2022-11-10 08:28:53 +00:00
sock sock: change min recv/send buf sizes to 4 KiB 2023-04-04 07:36:23 +00:00
thread thread: Move iobuf code to a separate compilation unit. 2023-05-09 17:58:11 +08:00
util util/pipe: Track full condition with a separate bool 2023-04-05 19:19:21 +00:00
vhost UT/vhost/vhost.c:add the test of spdk_blk_construct 2023-05-09 17:58:11 +08:00
json_mock.c virtio_blk: add dump opts 2023-01-20 18:57:38 +00:00
Makefile build: rely on configure to select which unit tests to build 2023-03-28 06:57:40 +00:00