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
|
||
---|---|---|
.. | ||
bdev_nvme_cuse_rpc.c | ||
bdev_nvme_rpc.c | ||
bdev_nvme.c | ||
bdev_nvme.h | ||
bdev_ocssd_rpc.c | ||
bdev_ocssd.c | ||
bdev_ocssd.h | ||
common.c | ||
common.h | ||
Makefile | ||
nvme_rpc.c | ||
vbdev_opal_rpc.c | ||
vbdev_opal.c | ||
vbdev_opal.h |