Spdk/lib
Konrad Sztyber 677af66f69 nvmf: abort outstanding zcopy reqs in qpair disconnect
Zero-copy requests are kept on the outstanding queue for the whole
duration of the request - from the initial zcopy_start submission to the
completion of zcopy_end.  This means, that there's a period in which a
request doesn't wait for a completion from the bdev layer, but is still
on the oustanding queue (after zcopy_start callback, before zcopy_end
submit).  If a qpair gets disconnected while a request is in this state,
we need to manually force its completion, as otherwise it might hang
indefinitely (e.g. waiting for host data).

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I53731b8e363b725efa564ca3c7d89b46f5fb2a24
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10793
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
2022-06-30 13:32:30 -04:00
..
accel lib/accel: remove batching from the framework and plug-in modules 2022-06-30 13:32:29 -04:00
bdev bdev: Fail nvme passthru command if not supported by bdev 2022-06-30 13:32:28 -04:00
blob blobstore: Use RB_TREE to do blob lookup 2022-06-30 13:32:29 -04:00
blobfs trace: move all trace definitions to a separate file 2022-06-30 13:32:26 -04:00
conf so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
dma dma: Add infrstructure for push operation 2022-06-30 13:32:26 -04:00
env_dpdk env_dpdk: do rte_eal_cleanup() at process exit 2022-06-30 13:32:30 -04:00
env_ocf spelling: lib 2022-06-30 13:32:28 -04:00
event trace: allow usage of tracepoint groups while enabling traces 2022-06-30 13:32:30 -04:00
ftl spelling: lib 2022-06-30 13:32:28 -04:00
idxd idxd: Move batch prep functions up in file 2022-06-30 13:32:29 -04:00
init rpc: add method for listing PCI devices 2022-06-30 13:32:29 -04:00
ioat ioat: fix potential double free problem in ioat_channel_start() 2021-06-16 09:00:37 +00:00
iscsi spelling: lib 2022-06-30 13:32:28 -04:00
json json: add spdk_json_write_bytearray 2022-06-30 13:32:29 -04:00
jsonrpc spelling: lib 2022-06-30 13:32:28 -04:00
log lib/log: move some log level function to log.c 2022-06-30 13:32:30 -04:00
lvol spelling: lib 2022-06-30 13:32:28 -04:00
nbd spelling: lib 2022-06-30 13:32:28 -04:00
notify so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
nvme nvme_rdma: Continue even if we receive a normal WC when qpair is disconnected 2022-06-30 13:32:29 -04:00
nvmf nvmf: abort outstanding zcopy reqs in qpair disconnect 2022-06-30 13:32:30 -04:00
rdma rdma: Set REMOTE_WRITE permission for iWARP on target side 2022-06-30 13:32:28 -04:00
reduce spelling: lib 2022-06-30 13:32:28 -04:00
rocksdb rocksdb: fix thread name typo 2021-09-03 08:08:20 +00:00
rpc Initial changes. 2022-02-08 15:51:30 -05:00
scsi spelling: lib 2022-06-30 13:32:28 -04:00
sock lib/sock: create common lookup for spdk_sock_group_impl 2022-06-30 13:32:28 -04:00
thread spelling: lib 2022-06-30 13:32:28 -04:00
trace trace: make trace_create_tpoint_group_mask() external 2022-06-30 13:32:29 -04:00
trace_parser spelling: lib 2022-06-30 13:32:28 -04:00
ut_mock so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
util util: Add spdk_ioviter for iterating iovecs 2022-06-30 13:32:29 -04:00
vfio_user spelling: lib 2022-06-30 13:32:28 -04:00
vhost vhost: set timeout for session's stop_poller 2022-06-30 13:32:30 -04:00
virtio spelling: lib 2022-06-30 13:32:28 -04:00
vmd spelling: lib 2022-06-30 13:32:28 -04:00
Makefile lib/trace_parser: add trace_parser library stubs 2022-06-30 13:32:25 -04:00