Spdk/test
Alex Michon 2bc134eb4b bdev/nvme: Fix aborting fuse commands
When sending a fused compare and write command, we pass a callback
bdev_nvme_comparev_and_writev_done that we expect to be called twice
before marking the io as completed. In order to detect if a call to
bdev_nvme_comparev_and_writev_done is the first or the second one, we
currently rely on the opcode in cdw0. However, cdw0 may be set to 0,
especially when aborting the command. This may cause use-after-free
issues and this may call the user callbacks twice instead of once.
Use a bit in the nvme_bdev_io instead to keep track of the number of
calls to bdev_nvme_comparev_and_writev_done.

Signed-off-by: Alex Michon <amichon@kalrayinc.com>
Change-Id: I0474329e87648e44b08998d0552b2a9dd5d34ac2
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12180
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2022-04-26 07:47:09 +00:00
..
accel_engine test/accel_engine: add more test cases 2021-09-01 07:34:02 +00:00
app test/llvm_nvme_fuzz: add nvm reservation command test cases 2022-04-20 08:20:14 +00:00
bdev test/bdevio: Update reset test 2022-04-20 08:21:15 +00:00
blobfs test/blobfs: update rocksdb version 2021-12-14 13:23:30 +00:00
blobstore blob: blobcli should use hex for blob IDs 2022-02-01 20:05:13 +00:00
common autobuild: group crypto patch apply for DPDK 2022-04-11 07:44:43 +00:00
compress test/nvmf: use recommended nvmf_create_subsystem rpc 2021-05-20 15:00:22 +00:00
cpp_headers queue_extras: use SPDK_CONTAINEROF 2019-10-07 15:06:01 +00:00
dd test/dd: Simple tests utilizing uring RPCs 2021-12-20 08:46:13 +00:00
dma bdev: pull/push data if bdev doesn't support 2022-04-04 09:57:56 +00:00
dpdk_memory_utility check_format: Ignore shellcheck's SC2128 and SC2178 directives 2021-06-30 22:43:05 +00:00
env env/memory: fix unregistration of memory after memory registration issue 2022-03-09 09:06:30 +00:00
event scripts: move python modules to python directory 2022-04-05 14:40:47 +00:00
external_code autobuild.sh: do not use sudo to run make in external code test 2022-03-14 08:43:50 +00:00
ftl autotest: Skip use of any zoned nvme devices 2021-12-06 08:34:46 +00:00
fuzz nvme_fuzz: pass trid on command line only 2021-09-27 10:55:34 +00:00
interrupt scripts: move python modules to python directory 2022-04-05 14:40:47 +00:00
ioat build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
iscsi_tgt test/iscsi_tgt: add iptables entry to forward packets 2022-04-19 08:17:19 +00:00
json_config scripts: move python modules to python directory 2022-04-05 14:40:47 +00:00
lvol spelling: test 2021-12-03 08:13:22 +00:00
make so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
nvme scripts: fix PYTHONPATH references to scripts/ directory 2022-04-18 17:22:09 +00:00
nvmf nvme/rdma: Add async set/get registers 2022-04-22 09:44:57 +00:00
ocf ocf/rpc: Add RPC method to manage sequential cutoff 2022-04-01 08:31:32 +00:00
openstack test/openstack: restart whole devstack before tests 2021-12-23 08:36:21 +00:00
pmem spelling: test 2021-12-03 08:13:22 +00:00
rpc scripts: move python modules to python directory 2022-04-05 14:40:47 +00:00
rpc_client build: use DEPDIRS variables to build SPDK_LIB_LIST 2020-12-18 09:40:01 +00:00
rpc_plugins autotest: Use rpc_cmd() for rpc plugin-based tests 2021-04-02 08:22:42 +00:00
scheduler test/scheduler: Don't fail if cgroups don't exist in move_cgroup_procs() 2022-03-09 08:02:55 +00:00
setup scripts/setup: Skip devices which have any valid data present 2022-04-06 07:21:17 +00:00
spdkcli test/nvmf: Remove support for soft-RoCE setups 2022-03-22 16:01:54 +00:00
thread test/thread: Add poller_perf to evaluate cost to run poller 2021-08-20 07:29:42 +00:00
unit bdev/nvme: Fix aborting fuse commands 2022-04-26 07:47:09 +00:00
vfio_user test/vfio_user: Remove subsystem listener while VM is connected, issue #2246 autotest. 2022-02-18 00:00:22 +00:00
vhost test/vhost: Fix vhost migration tc1 test 2022-04-15 08:24:59 +00:00
vmd test: replace VMD_WHITELIST with VMD_ALLOWED 2020-12-03 09:41:07 +00:00
Makefile test/dma: Add functional test to verify DMA 2021-09-24 07:37:45 +00:00
spdk_cunit.h test: remove leftover spdk_cunit declaration 2018-07-06 22:47:56 +00:00