Spdk/test/unit/lib/bdev
Jim Harris ab29d2ce5d bdev: improve handling of channel deletion with queued resets
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>
2017-09-22 15:38:44 -04:00
..
bdev.c test/bdev: initialize descriptor array in open_write_test 2017-09-19 17:15:15 -04:00
gpt test/bdev/gpt: link spdk_util for CRC32 function 2017-08-15 15:24:29 -04:00
mt bdev: improve handling of channel deletion with queued resets 2017-09-22 15:38:44 -04:00
scsi_nvme.c test: move SCSI/NVMe translation test to test/unit 2017-06-20 13:46:07 -04:00
vbdev_lvol.c lvol: Logical volume implementation 2017-09-14 19:30:54 -04:00
Makefile test/bdev: add simulated multi-thread unit tests 2017-09-22 15:38:44 -04:00