Spdk/module
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
..
accel accel: SPDK_ACCEL_MODULE_REGISTER is now passed the module 2022-08-10 11:00:17 +00:00
bdev bdev/nvme: Fix race between for_each_channel() and io_device_unregister() 2022-08-12 09:00:59 +00:00
blob Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
blobfs Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
env_dpdk Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
event lib/nvmf: don't raise assertion in nvmf_tgt_destroy_cb 2022-08-04 07:29:27 +00:00
scheduler lib/event: do not set default scheduling period during init 2022-06-20 09:56:09 +00:00
sock sock: add assertions checking sock_impl_opts size 2022-07-29 16:49:54 +00:00
Makefile Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00