Spdk/module/bdev/nvme
Jim Harris 01a942dc6b 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>

Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1253 (master)

(cherry picked from commit ba7b55de87)
Change-Id: I20286814d904b8d5a9c5209bbb53663683a4e6b0
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1305
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2020-03-19 08:09:53 +00:00
..
bdev_nvme_cuse_rpc.c lib/nvme: remove device name parameter from nvme cuse 2019-12-09 17:40:35 +00:00
bdev_nvme_rpc.c bdev/nvme: fix crash when invoking apply_firmware RPC 2020-01-28 15:41:26 +00:00
bdev_nvme.c bdev/nvme: do not destruct ctrlr if reset is in progress 2020-03-19 08:09:53 +00:00
bdev_nvme.h bdev/nvme: Add 'delay_cmd_submit' to nvme bdev options 2019-12-10 17:32:10 +00:00
bdev_ocssd_rpc.c bdev/ocssd: fixed leaking range buffer 2019-12-23 08:43:34 +00:00
bdev_ocssd.c bdev/ocssd: store nvme_bdev_ns in a separate variable 2020-01-23 04:05:39 +00:00
bdev_ocssd.h bdev/ocssd: media management events 2019-12-20 10:02:15 +00:00
common.c bdev/nvme: do not destruct ctrlr if reset is in progress 2020-03-19 08:09:53 +00:00
common.h bdev/nvme: do not destruct ctrlr if reset is in progress 2020-03-19 08:09:53 +00:00
Makefile bdev/ftl: Remove NVMe dependencies 2020-01-15 12:24:44 +00:00
nvme_rpc.c rpc: Rename send_nvme_cmd to bdev_nvme_send_cmd 2019-08-28 20:22:00 +00:00
vbdev_opal_rpc.c bdev/opal: Add rpc commands for multiuser 2019-10-24 17:09:57 +00:00
vbdev_opal.c bdev/nvme: Allow multiple bdevs per namespace 2019-11-18 12:53:17 +00:00
vbdev_opal.h bdev/opal: Add rpc commands for multiuser 2019-10-24 17:09:57 +00:00