Spdk/module/bdev/nvme
Shuhei Matsumoto a4ebc5714f bdev/nvme: Fix race between for_each_channel() and io_device_unregister()
If a nvme_ctrlr is unregistered while I/O path caches are clearing, the
unregistration would fail. This race was not considered for a case that
a nvme_ctrlr is unregsitered when adminq poller started I/O path cache
clearing.

As a bug fix, control ANA log page updating and I/O path cache clearing
separately by adding a new flag io_path_cache_clearing.

Fixes issue #2617

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Id58684caf9b2a10fa68bdb717288ff2bd799c3f7
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13924
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
2022-08-12 09:00:59 +00:00
..
bdev_nvme_cuse_rpc.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
bdev_nvme_rpc.c nvme: apply nvme_pcie_poll_group_get_stats to vfio-user 2022-07-22 06:43:35 +00:00
bdev_nvme.c bdev/nvme: Fix race between for_each_channel() and io_device_unregister() 2022-08-12 09:00:59 +00:00
bdev_nvme.h bdev/nvme: Fix race between for_each_channel() and io_device_unregister() 2022-08-12 09:00:59 +00:00
Makefile Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_rpc.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
vbdev_opal_rpc.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
vbdev_opal.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
vbdev_opal.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00