linux-hardened/include/scsi
Mike Christie 3bbaaad95f [SCSI] libiscsi: handle cleanup task races
bnx2i needs to send a hardware specific cleanup command if
a command has not completed normally (iscsi/scsi response from
target), and the session is still ok (this is the case when we
send a TMF to stop the command).

At this time it will need to drop the session lock. The problem
with the current code is that fail_all_commands assumes we
will hold the lock the entire time, so it uses list_for_each_entry_safe.
If while bnx2i drops the session lock multiple cmds complete then
list_for_each_entry_safe will not handle this correctly.

This patch removes the running lists and just has us loop over
the cmds array (in later patches we will then replace that
array with a block tag map at the session level). It also fixes
up the completion path so that if the TMF code and the normal recv
path were completing the same command then they both do not try
to do release the refcount taken when the task is queued.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2009-05-23 15:44:12 -05:00
..
fc [SCSI] libfc: Fix compilation warnings with allmodconfig 2009-04-27 10:19:31 -05:00
fc_encode.h [SCSI] libfc: A modular Fibre Channel library 2008-12-29 11:24:33 -06:00
fc_frame.h [SCSI] libfc: add support of large receive offload by ddp in fc_fcp 2009-03-13 15:15:15 -05:00
iscsi_if.h [SCSI] iscsi: pass ep connect shost 2009-05-23 15:44:09 -05:00
iscsi_proto.h [SCSI] iscsi_tcp: Enable any size command 2008-07-12 08:22:23 -05:00
libfc.h [SCSI] libfc: Track rogue remote ports 2009-04-27 10:18:57 -05:00
libfcoe.h [SCSI] fcoe, libfcoe: Add support for FIP. FCoE discovery and keep-alive. 2009-04-03 09:23:08 -05:00
libiscsi.h [SCSI] libiscsi: handle cleanup task races 2009-05-23 15:44:12 -05:00
libiscsi_tcp.h [SCSI] iscsi_tcp: make padbuf non-static 2009-01-13 10:41:34 -06:00
libsas.h
libsrp.h
osd_attributes.h [SCSI] libosd: attributes Support 2009-03-12 12:58:07 -05:00
osd_initiator.h [SCSI] libosd: SCSI/OSD Sense decoding support 2009-03-12 12:58:09 -05:00
osd_protocol.h [SCSI] libosd: OSD2r05: on-the-wire changes for latest OSD2 revision 5. 2009-04-27 11:05:49 -05:00
osd_sec.h [SCSI] libosd: OSDv1 Headers 2009-03-12 12:58:06 -05:00
osd_sense.h [SCSI] libosd: SCSI/OSD Sense decoding support 2009-03-12 12:58:09 -05:00
osd_types.h [SCSI] libosd: OSDv1 Headers 2009-03-12 12:58:06 -05:00
sas.h
sas_ata.h
scsi.h [SCSI] Make scsi.h independent of the rest of the scsi includes 2009-03-12 12:58:13 -05:00
scsi_cmnd.h [SCSI] Make scsi.h independent of the rest of the scsi includes 2009-03-12 12:58:13 -05:00
scsi_dbg.h
scsi_device.h [SCSI] remove scsi_req_map_sg 2009-03-12 12:58:10 -05:00
scsi_devinfo.h
scsi_dh.h [SCSI] scsi_dh: attach to hardware handler from dm-mpath 2008-07-26 15:14:53 -04:00
scsi_driver.h
scsi_eh.h [SCSI] scsi_eh_prep_cmnd should save scmd->underflow 2008-07-26 15:14:56 -04:00
scsi_host.h block: unify request timeout handling 2008-10-09 08:56:13 +02:00
scsi_ioctl.h [PATCH] don't mess with file in scsi_nonblockable_ioctl() 2008-10-21 07:47:28 -04:00
scsi_netlink.h [SCSI] scsi_netlink: Add transport and LLD recieve and event support 2008-10-03 11:46:13 -05:00
scsi_netlink_fc.h
scsi_scan.h PM/Hibernate: Wait for SCSI devices scan to complete during resume 2009-04-13 11:37:07 -07:00
scsi_tcq.h scsi: make sure that scsi_init_shared_tag_map() doesn't overwrite existing map 2008-10-27 19:25:30 +01:00
scsi_tgt.h
scsi_tgt_if.h
scsi_transport.h block: unify request timeout handling 2008-10-09 08:56:13 +02:00
scsi_transport_fc.h [SCSI] fc-transport: Close state transition-window during rport deletion. 2009-05-15 12:16:46 -04:00
scsi_transport_iscsi.h [SCSI] iscsi: pass ep connect shost 2009-05-23 15:44:09 -05:00
scsi_transport_sas.h
scsi_transport_spi.h
scsi_transport_srp.h
scsicam.h
sg.h [SCSI] sg: Add target reset support 2008-07-12 08:22:32 -05:00
srp.h