Spdk/test/unit/lib
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 bdev: improve handling of channel deletion with queued resets 2017-09-22 15:38:44 -04:00
blob blob: Add support for crc of super block. 2017-09-20 19:56:57 -04:00
blobfs blobfs, tree: fix a bug in spdk_tree_insert_buffer 2017-08-15 16:36:41 -04:00
event test: move subsystem_ut to unit test directory 2017-09-12 21:00:07 -04:00
ioat test: move IOAT library unit test to test/unit 2017-06-21 18:57:35 -04:00
iscsi util: add CRC32 utility functions 2017-08-02 19:47:35 -04:00
json test/json_util_ut: assert that string is valid 2017-07-12 18:13:23 -04:00
jsonrpc jsonrpc: allow asynchronous request completion 2017-07-12 12:10:31 -04:00
log log: add new parm to spdk_trace_dump() 2017-09-06 17:33:03 -04:00
lvol lvol: Logical volume implementation 2017-09-14 19:30:54 -04:00
nvme nvme: override the default queue depth if users specified the value 2017-09-20 19:58:49 -04:00
nvmf nvmf: don't allow 0xFFFFFFFF as a NSID 2017-09-19 17:16:59 -04:00
scsi scsi: remove LUN I/O channel ref counting 2017-09-01 12:46:43 -04:00
util util: fail io_device unregister if foreach operations outstanding 2017-09-20 19:27:06 -04:00
vhost rpc/vhost_scsi: defer remove_scsi_dev RPC response 2017-09-22 14:13:40 -04:00
Makefile lvol: Logical volume implementation 2017-09-14 19:30:54 -04:00