1f935c7a9b
Previously, we naively assumed that a completed reset was the reset in progress, and would unilaterally set reset_in_progres to false. So change reset_in_progress to a bdev_io pointer instead. If this is not NULL, a reset is not in progress. Then when a reset completes, we only set the reset_in_progress pointer to NULL if we are completing the reset that is in progress. We also were not aborting queued resets when destroying a channel so that is fixed here too. The added unit test covers both fixes above - it will submit two resets on a different channels, then destroy the second channel. This will abort the second reset and check that the bdev still sees the first reset as in progress. Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I61df677cfa272c589ca03cb81753f71b0807a182 Reviewed-on: https://review.gerrithub.io/378199 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> |
||
---|---|---|
.. | ||
bdev.c | ||
Makefile |