linux/drivers/scsi/libfc
Vasu Dev e0d93c5bc4 [SCSI] libfc: IO errors on link down due to cable unplug
In this case, sync IO fails with EIO(5) errors as:-

"Thread:1 System call error:5 - Input/output error (::pwrite() failed)".

This is due to IO time out while libfc doing link down processing
to block all rports and if timed out IO was at last retry
attempt then it fails to user with EIO error followed by
these log messages.

[77848.612169] host2: rport bf0015: Delete port
[77848.612221] host2: rport e10aef: work delete
[77848.612232] host2: rport e10002: work event 3
[77848.612422] sd 2:0:1:1: [sdi] Unhandled error code
[77848.612426] sd 2:0:1:1: [sdi] Result: hostbyte=DID_ERROR
driverbyte=DRIVER_OK
[77848.612431] sd 2:0:1:1: [sdi] CDB: Write(10): 2a 00 00 00 11 20 00 00 20 00
[77848.612445] end_request: I/O error, dev sdi, sector 4384
[77848.612553] sd 2:0:1:2: [sdj] Unhandled error code

To fix these EIO errors, such timed out incomplete IOs needs
to be re-queued without counting retry attempt and this patch
does that using DID_REQUEUE scsi code.

Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
2010-07-28 09:05:45 -05:00
..
fc_disc.c [SCSI] libfc: Move the port_id into lport 2010-05-16 22:22:34 -04:00
fc_elsct.c [SCSI] libfc: Move the port_id into lport 2010-05-16 22:22:34 -04:00
fc_exch.c [SCSI] libfc: Move the port_id into lport 2010-05-16 22:22:34 -04:00
fc_fcp.c [SCSI] libfc: IO errors on link down due to cable unplug 2010-07-28 09:05:45 -05:00
fc_frame.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
fc_libfc.c [SCSI] libfc: Formatting cleanups across libfc 2009-12-04 12:01:07 -06:00
fc_libfc.h [SCSI] libfc: Move the port_id into lport 2010-05-16 22:22:34 -04:00
fc_lport.c [SCSI] libfc: Move the port_id into lport 2010-05-16 22:22:34 -04:00
fc_npiv.c [SCSI] libfc: Move the port_id into lport 2010-05-16 22:22:34 -04:00
fc_rport.c [SCSI] libfc: fix indefinite rport restart 2010-07-27 12:01:53 -05:00
Makefile [SCSI] libfc: add some generic NPIV support routines to libfc 2009-12-04 12:00:56 -06:00