Spdk/module
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 module/accel/idxd: change json write of kernel mode from U32 to bool 2022-04-21 08:12:37 +00:00
bdev bdev/nvme: Fix aborting fuse commands 2022-04-26 07:47:09 +00:00
blob so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
blobfs so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
env_dpdk so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
event nvmf: remove deprecated conn_sched parameter 2022-02-15 14:38:37 +00:00
scheduler scheduler: create and parse JSON values for dynamic scheduler params 2022-03-16 08:19:26 +00:00
sock sock: Add ack_timeout to spdk_sock_opts 2022-04-14 08:34:29 +00:00
Makefile scheduler: create public API and subsystem for scheduler/governor 2021-09-07 07:33:03 +00:00