Spdk/lib/bdev
Mike Gerdts b5075dcc5b bdev: action_in_progress counting is racy
Since bdev_examine() can happen on any thread and it happens without any
other lock being held on the spdk_bdev_module, it is possible for
multiple threads to try to simultaneously increment
module->internal.action_in_progress. Decrements may also race.

This commit adds bdev_module->internal.spinlock and holds it while
modifying module->internal.action_in_progress.

This can be removed when the bdev_register_examine_thread deprecation
is removed.

Change-Id: I9c401eeb3c7c97c484e16fa9cfd82668b32e508b
Signed-off-by: Mike Gerdts <mgerdts@nvidia.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15281
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Community-CI: Mellanox Build Bot
2023-01-05 23:28:32 +00:00
..
bdev_internal.h bdev: Add counts per I/O error status into I/O statistics 2023-01-04 08:22:31 +00:00
bdev_rpc.c bdev: Add function pointers to display and reset module specific I/O statistics 2023-01-04 08:22:31 +00:00
bdev_zone.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
bdev.c bdev: action_in_progress counting is racy 2023-01-05 23:28:32 +00:00
Makefile update Intel copyright notices 2022-11-10 08:28:53 +00:00
part.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
scsi_nvme.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
spdk_bdev.map bdev: support to get histogram per channel 2022-11-29 08:28:57 +00:00
vtune.c update Intel copyright notices 2022-11-10 08:28:53 +00:00