Spdk/module/bdev/nvme
Shuhei Matsumoto f1fb19e332 bdev/nvme: Fix the race condition between destruct and reset controller
nvme_bdev_ctrlr_destruct() had checked first if poller is already
registered. On the other hand, nvme_bdev_ctrlr_destruct() had been
used as a poller function.

Hence nvme_bdev_ctrlr_destruct() had no way to unregister poller
if destruct and reset controller were raced.

This patch fixes the issue. The previous patch ensures nvme_bdev_ctrlr_destruct()
is called only once.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Iba5424c42a4a3e5f03575df2616ec2a817e38f51
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4827
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: John Kariuki <John.K.Kariuki@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2020-11-16 12:23:04 +00:00
..
bdev_nvme_cuse_rpc.c log: remove internal log.h header 2020-10-15 08:23:39 +00:00
bdev_nvme_rpc.c bdev/rpc: use goto to make code reuse. 2020-11-11 01:02:31 +00:00
bdev_nvme.c bdev/nvme: Ensure ctrlr->destruct is set only once 2020-11-16 12:23:04 +00:00
bdev_nvme.h bdev/nvme: Make bdev_nvme_add_trid() static function 2020-09-30 07:25:54 +00:00
bdev_ocssd_rpc.c bdev/ocssd: fixed leaking range buffer 2019-12-23 08:43:34 +00:00
bdev_ocssd.c bdev/nvme: Consolidate nvme_ctrlr_populate_namespace_done() calls 2020-11-06 08:11:50 +00:00
bdev_ocssd.h bdev/ocssd: media management events 2019-12-20 10:02:15 +00:00
common.c bdev/nvme: Fix the race condition between destruct and reset controller 2020-11-16 12:23:04 +00:00
common.h bdev/ocssd: Rename the local and member variables ocssd_ioch by ocssd_ch 2020-10-19 10:00:16 +00:00
Makefile mk/lib: add a check that major and minor version is set for libs. 2020-05-21 09:19:00 +00:00
nvme_rpc.c module/nvme: Fix warning about scanbuild. 2020-10-27 08:42:32 +00:00
vbdev_opal_rpc.c log: remove internal log.h header 2020-10-15 08:23:39 +00:00
vbdev_opal.c bdev_nvme/opal: Use spdk_bdev_part_base_construct_ext() to pass bdev_name 2020-10-16 08:14:34 +00:00
vbdev_opal.h module/bdev_nvme: remove spdk prefix from static/internal functions. 2020-05-15 07:58:03 +00:00