linux/drivers/scsi/libfc
Hannes Reinecke a0452bb45c scsi: libfc: spurious I/O error under high load
If a command times out libfc is sending an REC, which also
might fail (due to frames being lost or something).
If no data has been transferred we can simply retry
the command, but the current code sets a state of FC_ERROR,
which then is being translated into DID_ERROR, resulting
in an I/O error.
So to handle this properly we need to set a separate
state FC_TRANS_RESET and mapping it onto DID_SOFT_RETRY.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Acked-by: Johannes Thumshirn <jth@kernel.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2016-11-08 17:29:51 -05:00
..
fc_disc.c scsi: libfc: Fixup disc_mutex handling 2016-11-08 17:29:46 -05:00
fc_elsct.c [SCSI] libfc: Make the libfc Common Transport(CT) code generic 2012-02-19 08:08:58 -06:00
fc_exch.c scsi: libfc: additional debugging messages 2016-11-08 17:29:51 -05:00
fc_fcp.c scsi: libfc: spurious I/O error under high load 2016-11-08 17:29:51 -05:00
fc_frame.c [SCSI] libfc, fcoe, bnx2fc: cleanup fcoe_dev_stats 2012-07-20 08:31:47 +01:00
fc_libfc.c libfc: Replace rcu_assign_pointer() with RCU_INIT_POINTER() 2014-09-30 09:28:36 +02:00
fc_libfc.h libfc, libfcoe, fcoe: Convert debug_logging macros to pr_info 2012-12-14 10:38:55 -08:00
fc_lport.c scsi: libfc: Fixup disc_mutex handling 2016-11-08 17:29:46 -05:00
fc_npiv.c libfc: Use the correct function name in kernel-doc comment. 2015-11-09 17:15:52 -08:00
fc_rport.c scsi: libfc: additional debugging messages 2016-11-08 17:29:51 -05:00
Makefile