Spdk/module/bdev/nvme
Shuhei Matsumoto b05ec00f1a bdev/nvme: bdev_nvme_delete() uses mutexes for race conditions
Inline the internal of bdev_nvme_delete_ctrlr() and bdev_nvme_failover()
into _bdev_nvme_delete().

Change the _nvme_ctrlr_destruct() call from direct to message passing
to reduce lock hold time and avoid potential deadlock.

Then, protect nbdev_ctrlr via g_bdev_mutex_unlock and each nvme_ctrlr
via nvme_ctrlr->mutex.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I5cc2cf781d2846c51bce631c12fceaeade860a0b
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16822
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Michael Haeuptle <michaelhaeuptle@gmail.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2023-03-16 08:42:03 +00:00
..
bdev_mdns_client.c bdev/nvme: fix use-after-free in mdns_resolve_callback() 2023-03-16 07:24:56 +00:00
bdev_nvme_cuse_rpc.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
bdev_nvme_rpc.c module/bdev: Use error_response() rather than bool_response(false) for JSON RPCs 2023-01-31 21:40:09 +00:00
bdev_nvme.c bdev/nvme: bdev_nvme_delete() uses mutexes for race conditions 2023-03-16 08:42:03 +00:00
bdev_nvme.h bdev_nvme: record io paths' stat before being destroyed 2023-01-19 01:57:11 +00:00
Makefile so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
nvme_rpc.c nvme: fix a possible NULL pointer deref 2022-12-06 09:26:57 +00:00
vbdev_opal_rpc.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
vbdev_opal.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
vbdev_opal.h update Intel copyright notices 2022-11-10 08:28:53 +00:00