Spdk/module
Shuhei Matsumoto d22497a72c bdev/nvme: Process pending destruct ctrlr request by adding an new variable
The recent refactoring removed the destruct poller and change the
reset processing to destruct ctrlr after its completion by conditionally
sending message.

But differentiating callback function is difficult if we reset multiple
ctrlrs.

If nvme_bdev_ctrlr->destruct is set, any new reset cannot start. So we can
use an new variable and always execute the callback function.

Add an new variable pending_destruct to struct nvme_bdev_ctrlr, and set
pending_destruct if ctrlr->ref is zero and ctrlr->destruct is true, and
then start destruct ctrlr if ctrlr->destruct_after_reset is set after
clearing pending resets.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I9f34c42a40c5a5da54611e7871aef8c58117a56a
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6714
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
2021-03-22 09:45:53 +00:00
..
accel idxd: update low level lib and poller to indicate busy/idle 2021-02-19 11:29:53 +00:00
bdev bdev/nvme: Process pending destruct ctrlr request by adding an new variable 2021-03-22 09:45:53 +00:00
blob module/blob: remove deprecated spdk_bdev_create_bs_dev/from_desc() 2021-03-05 08:33:45 +00:00
blobfs so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
env_dpdk so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
event event/nvmf: Remove use of spdk_app_stop() 2021-03-18 13:18:29 +00:00
sock sock: introduce SO_INCOMING_CPU to get placement_id 2021-03-09 08:53:52 +00:00
Makefile build: install generated pkg-config files 2021-03-17 11:10:45 +00:00