Spdk/module/bdev
Jim Harris ba7b55de87 bdev/nvme: do not destruct ctrlr if reset is in progress
The adminq poller could get a failure if the ctrlr has
already been hot removed, which starts a reset.

But while the for_each_channel is running for the reset,
the hotplug poller could run and start the destruct
process.  If the ctrlr is deleted before the for_each_channel
completes, we will try to call spdk_nvme_ctrlr_reset() on
a deleted controller.

While here, also add a check to skip the reset if the
controller is already in the process of being removed.

Fixes #1273.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I20286814d904b8d5a9c5209bbb53663683a4e6b0

Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1253
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
2020-03-16 08:45:22 +00:00
..
aio bdev/aio: delete unnecessary code 2019-10-16 15:55:46 +00:00
compress vbdev: close the base bdev on its opened thread 2020-02-25 10:46:40 +00:00
crypto thread: remove io_channel.h public header 2020-03-10 09:12:53 +00:00
delay vbdev: close the base bdev on its opened thread 2020-02-25 10:46:40 +00:00
error RPC: rename RPC bdev_error series 2019-08-26 18:59:18 +00:00
ftl thread: remove io_channel.h public header 2020-03-10 09:12:53 +00:00
gpt module/gpt: use correct ch when queueing IO 2020-02-13 09:52:46 +00:00
iscsi module/bdev: fix a inconsistent order of parameters 2019-11-21 08:04:53 +00:00
lvol lvol: Use error log instead of info log on error 2019-09-09 08:40:58 +00:00
malloc module/malloc: rename 2 functions to match new accel names 2020-02-21 09:38:51 +00:00
null scripts/rpc: Rename rpc related to null bdev 2019-08-28 15:19:58 +00:00
nvme bdev/nvme: do not destruct ctrlr if reset is in progress 2020-03-16 08:45:22 +00:00
ocf thread: remove io_channel.h public header 2020-03-10 09:12:53 +00:00
passthru vbdev: close the base bdev on its opened thread 2020-02-25 10:46:40 +00:00
pmem rpc: Rename delete_pmem_pool to bdev_pmem_delete_pool 2019-09-05 07:04:17 +00:00
raid thread: remove io_channel.h public header 2020-03-10 09:12:53 +00:00
rbd RPC: rename rpc delete_rbd_bdev to bdev_rbd_delete 2019-09-13 22:39:15 +00:00
rpc bdev/rpc: Add current ticks to bdev_get_iostat RPC 2019-11-21 08:05:23 +00:00
split module/split: use correct ch when queueing IO 2020-02-13 09:52:46 +00:00
uring uring: Add a uring.h file. 2019-12-30 11:45:51 +00:00
virtio virtio: remove VHOST_USER_F_PROTOCOL_FEATURES from virtio.h 2020-01-10 08:45:45 +00:00
zone_block vbdev: close the base bdev on its opened thread 2020-02-25 10:46:40 +00:00
Makefile bdev/ftl: Remove NVMe dependencies 2020-01-15 12:24:44 +00:00