Spdk/module
Shuhei Matsumoto 4e8f5d39ec bdev/nvme: Fix bdev_nvme_delete() to call ctrlr_get_by_name() and set destruct to true in a lock
bdev_nvme_delete() had called nvme_bdev_ctrlr_get_by_name() and
then called remove_cb(). But nvme_bdev_ctrlr_get_by_name() had not
been guarded by lock and remove_cb() parsed the list again by using
spdk_nvme_ctrlr as a key.

These were not safe and efficient.

This patch refines bdev_nvme_delete() to inline remove_cb() into
it and acquire mutex before calling nvme_bdev_ctrlr_get_by_name().

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Ibf39859809efa6f22899353c53b7b1eef58aa470
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4842
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2020-11-16 12:23:04 +00:00
..
accel lib/idxd: refactor batching for increased performance 2020-10-22 22:43:28 +00:00
bdev bdev/nvme: Fix bdev_nvme_delete() to call ctrlr_get_by_name() and set destruct to true in a lock 2020-11-16 12:23:04 +00:00
blob blob/bdev: Add function pointer get_base_bdev to struct spdk_bs_dev 2020-10-20 08:52:29 +00:00
blobfs blobfs_bdev: Use spdk_bdev_create_bs_dev_ext() instead of spdk_bdev_create_bs_dev_from_desc() 2020-10-20 08:52:29 +00:00
env_dpdk log: remove internal log.h header 2020-10-15 08:23:39 +00:00
event event: remove subsystem legacy config print 2020-10-21 02:25:45 +00:00
sock sock/uring: reap if some sock has data in pipe 2020-11-16 12:22:43 +00:00
Makefile global: rename copy to accel 2020-02-18 08:05:34 +00:00