linux/include/scsi
Mike Christie 5923d64b7a scsi: libiscsi: Drop taskqueuelock
The purpose of the taskqueuelock was to handle the issue where a bad target
decides to send a R2T and before its data has been sent decides to send a
cmd response to complete the cmd. The following patches fix up the
frwd/back locks so they are taken from the queue/xmit (frwd) and completion
(back) paths again. To get there this patch removes the taskqueuelock which
for iSCSI xmit wq based drivers was taken in the queue, xmit and completion
paths.

Instead of the lock, we just make sure we have a ref to the task when we
queue a R2T, and then we always remove the task from the requeue list in
the xmit path or the forced cleanup paths.

Link: https://lore.kernel.org/r/20210207044608.27585-3-michael.christie@oracle.com
Reviewed-by: Lee Duncan <lduncan@suse.com>
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2021-02-08 22:39:03 -05:00
..
fc scsi: scsi_transport_fc: Match HBA Attribute Length with HBAAPI V2.0 definitions 2020-07-15 14:50:23 -04:00
fc_frame.h scsi: libfc: Move scsi/fc_encode.h to libfc 2020-10-29 21:49:25 -04:00
fcoe_sysfs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 335 2019-06-05 17:37:06 +02:00
iscsi_if.h scsi: iscsi: Add support for asynchronous iSCSI session destruction 2020-03-11 23:07:57 -04:00
iscsi_proto.h scsi: Revert "target: iscsi: Wait for all commands to finish before freeing a session" 2020-02-14 17:13:54 -05:00
iser.h IB/iser,isert: Create and use new shared header 2015-12-24 00:17:35 -05:00
libfc.h scsi: libfc: Whitespace cleanup in libfc.h 2019-07-29 20:43:06 -04:00
libfcoe.h scsi: fcoe: Embed fc_rport_priv in fcoe_rport structure 2019-07-29 21:12:35 -04:00
libiscsi_tcp.h SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
libiscsi.h scsi: libiscsi: Drop taskqueuelock 2021-02-08 22:39:03 -05:00
libsas.h scsi: libsas: Remove temporarily-added _gfp() API variants 2021-01-22 21:31:10 -05:00
sas_ata.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
sas.h scsi: libsas: Replace zero-length array with flexible-array 2020-05-11 22:26:32 -04:00
scsi_bsg_iscsi.h scsi: Replace zero-length array with flexible-array member 2020-03-11 23:07:56 -04:00
scsi_cmnd.h scsi: core: Add 'set_status_byte()' accessor 2021-01-22 21:14:11 -05:00
scsi_common.h scsi: target: core: Add CONTROL field for trace events 2020-10-02 18:36:19 -04:00
scsi_dbg.h scsi: core: Reduce memory required for SCSI logging 2019-08-07 21:47:29 -04:00
scsi_device.h scsi: core: Only re-run queue in scsi_end_request() if device queue is busy 2020-09-15 22:20:11 -04:00
scsi_devinfo.h scsi: devinfo: BLIST_RETRY_ASC_C1 for Fujitsu ETERNUS 2018-04-20 19:14:36 -04:00
scsi_dh.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
scsi_driver.h scsi: return blk_status_t from scsi_init_io and ->init_command 2018-11-09 19:17:14 -07:00
scsi_eh.h scsi: core: save/restore command resid for error handling 2019-10-03 21:43:04 -04:00
scsi_host.h scsi: core: No retries on abort success 2021-01-14 22:55:17 -05:00
scsi_ioctl.h scsi: Replace zero-length array with flexible-array member 2020-03-11 23:07:56 -04:00
scsi_proto.h scsi: core: Add VENDOR_SPECIFIC sense code definitions 2018-01-22 20:04:02 -05:00
scsi_request.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scsi_tcq.h scsi: core: Only return started requests from scsi_host_find_tag() 2020-07-24 22:09:56 -04:00
scsi_transport_fc.h scsi: scsi_transport_fc: Add a new rport state FC_PORTSTATE_MARGINAL 2021-01-14 22:55:17 -05:00
scsi_transport_iscsi.h scsi: scsi_transport_iscsi: Drop a duplicated word 2020-07-24 22:09:53 -04:00
scsi_transport_sas.h scsi: libsas: direct call probe and destruct 2018-01-10 23:24:02 -05:00
scsi_transport_spi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
scsi_transport_srp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scsi_transport.h SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
scsi.h scsi: aic7xxx: aic79xx: Drop internal SCSI message definition 2021-01-22 21:14:10 -05:00
scsicam.h scsi: simplify scsi_partsize 2020-03-24 07:57:07 -06:00
sg.h scsi: docs: convert scsi-generic.txt to ReST 2020-03-11 23:08:02 -04:00
srp.h scsi: Replace zero-length array with flexible-array member 2020-03-11 23:07:56 -04:00
viosrp.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00