+20
−8
Loading
Upper layers are not supposed to put an I/O channel if there are still I/O outstanding. This should apply to resets as well. To better detect this case, do not remove the reset from the channel's queued_reset list until it is ready to be submitted to the bdev module. This ensures: 1) We can detect if a channel is put with a reset outstanding. 2) We do not access freed memory, when the channel is destroyed before the reset message can submit the reset I/O. 3) Abort the queued reset if a channel is destroyed. Signed-off-by:Jim Harris <james.r.harris@intel.com> Change-Id: I0c03eee8b3642155c19c2996e25955baac22d406 Reviewed-on: https://review.gerrithub.io/378198 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>