Spdk/lib/scsi
Shuhei Matsumoto 8f33ac020d scsi: Fix seg.fault due to the gap between IO channel put and LUN removal
The reported github issue #938 has been reported intermettently.
The issue is that the bdev descriptor passed to spdk_bdev_reset()
is not valid and causes seg. fault.

Current implementation of LUN hot plug is that putting IO channel
and removing LUN are done by different poller. Hence if any task
management command is issued between the gap, the reported issue
is likely to occur.

The flag removing is set at the start of LUN hot plug and so
spdk_scsi_dev_get_lun() can return NULL even before completing
removal by referring the flag removing.

  Fixes #938.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I1a51d90cc700134e8c0ec399a3ce62620c84ef73
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/467212
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-09-09 04:46:08 +00:00
..
dev.c scsi: Fix seg.fault due to the gap between IO channel put and LUN removal 2019-09-09 04:46:08 +00:00
lun.c scsi: Add data offset to DIF context separately from start block address 2019-06-11 18:53:58 +00:00
Makefile scsi: add persistent reservation out with register feature support 2019-05-24 23:04:03 +00:00
port.c scsi: add iSCSI initiator port TransportID 2018-12-05 16:04:06 +00:00
scsi_bdev.c scsi: fail invalid MODE_SELECT requests 2019-08-05 23:15:08 +00:00
scsi_internal.h scsi: Add data offset to DIF context separately from start block address 2019-06-11 18:53:58 +00:00
scsi_pr.c scsi: fix error break when checking SCSI reservation 2019-07-04 08:15:44 +00:00
scsi_rpc.c jsonrpc: don't check returned value from spdk_jsonrpc_begin_result() 2019-07-22 05:13:30 +00:00
scsi.c trace: remove short_name 2019-05-02 08:41:56 +00:00
task.c scsi: alloc temporary data buffer with regular calloc 2019-05-01 17:59:34 +00:00