Spdk/examples
John Levon a6aaf848a5 nvme/fio_plugin: fix race during startup
We can crash with spdk_nvme_qpair_process_completions(qpair=0x0) when
called from spdk_fio_getevents(). This was observed when passing more
than two namespaces to an fio job.

This is because this callback can be called concurrently with
spdk_fio_open(), which assigns ->qpair. We'll just skip any
non-initialized qpairs in the processing loop, as eventually
spdk_fio_open() will set them.

Fixes: "f69367c78 fio_nvme: defer qpair allocation to file_open callback"

Signed-off-by: John Levon <john.levon@nutanix.com>
Change-Id: Ie8f1ac37726e202bb971ffeb497f9e32656392aa
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12338
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: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2022-04-26 07:46:30 +00:00
..
accel accel: cleanup by getting rid of capabilties enum 2022-04-14 08:32:50 +00:00
bdev fio/bdev_plugin: Added env_context to fio config 2022-03-24 09:21:35 +00:00
blob blobcli: Use spdk_for_each_bdev() for bdev list traversal 2022-04-05 11:48:31 +00:00
idxd idxd: Eliminate configs 2022-03-21 11:05:28 +00:00
interrupt_tgt scripts: move python modules to python directory 2022-04-05 14:40:47 +00:00
ioat examples/ioat: add missed spdk_env_fini() call when exiting 2022-01-10 18:36:14 +00:00
nvme nvme/fio_plugin: fix race during startup 2022-04-26 07:46:30 +00:00
nvmf event: Add a user option to change the size of spdk_msg_mempool 2022-03-09 08:00:28 +00:00
sock examples: update pollers to use the expected enum values 2021-11-03 23:12:25 +00:00
util Util: check the error case of NULL pointer 2021-06-08 08:26:12 +00:00
vmd examples/vmd: add missed spdk_env_fini() call when exiting 2022-01-10 18:36:14 +00:00
Makefile examples/idxd: Add the perf tool for idxd 2021-09-22 06:54:48 +00:00