Spdk/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
..
aio bdev: unify all direct bdev_io I/O types 2017-09-22 13:44:25 -04:00
error bdev/error: use bdev_part helper functions 2017-09-12 11:16:50 -04:00
gpt bdev/gpt: fix use after free of gpt_base 2017-09-14 14:26:40 -04:00
lvol bdev: unify all direct bdev_io I/O types 2017-09-22 13:44:25 -04:00
malloc bdev: unify all direct bdev_io I/O types 2017-09-22 13:44:25 -04:00
null bdev: unify all direct bdev_io I/O types 2017-09-22 13:44:25 -04:00
nvme bdev: unify all direct bdev_io I/O types 2017-09-22 13:44:25 -04:00
rbd bdev: unify all direct bdev_io I/O types 2017-09-22 13:44:25 -04:00
rpc bdev: remove bdev_opened_for_write restriction 2017-09-20 14:43:32 -04:00
split bdev: add common partition helper functions 2017-09-12 11:16:50 -04:00
virtio bdev: unify all direct bdev_io I/O types 2017-09-22 13:44:25 -04:00
bdev.c bdev: improve handling of channel deletion with queued resets 2017-09-22 15:38:44 -04:00
Makefile lvol: Logical volume implementation 2017-09-14 19:30:54 -04:00
scsi_nvme.c bdev: add API to translate to SCSI status 2017-05-04 09:11:42 -07:00
vtune.c bdev: #include VTune file to control warnings 2017-06-08 12:44:25 -04:00