summaryrefslogtreecommitdiffstats
path: root/include/scsi/fc
diff options
context:
space:
mode:
authorChris Leech <christopher.leech@intel.com>2009-02-27 10:55:02 -0800
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-03-06 15:39:34 -0600
commit6755db1cd4587084be85f860b7aa7c0cc9d776dc (patch)
treecdc50e934f61d73a7aa8f5fdc5c454e0375071b9 /include/scsi/fc
parentbc0e17f691085315ae9303eb5b0883fe16dfe6b1 (diff)
downloadlinux-6755db1cd4587084be85f860b7aa7c0cc9d776dc.tar.gz
linux-6755db1cd4587084be85f860b7aa7c0cc9d776dc.tar.bz2
linux-6755db1cd4587084be85f860b7aa7c0cc9d776dc.zip
[SCSI] libfc: rport retry on LS_RJT from certain ELS
This allows any rport ELS to retry on LS_RJT. The rport error handling would only retry on resource allocation failures and exchange timeouts. I have a target that will occasionally reject PLOGI when we do a quick LOGO/PLOGI. When a critical ELS was rejected, libfc would fail silently leaving the rport in a dead state. The retry count and delay are managed by fc_rport_error_retry. If the retry count is exceeded fc_rport_error will be called. When retrying is not the correct course of action, fc_rport_error can be called directly. Signed-off-by: Chris Leech <christopher.leech@intel.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'include/scsi/fc')
-rw-r--r--include/scsi/fc/fc_fs.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/scsi/fc/fc_fs.h b/include/scsi/fc/fc_fs.h
index 3e4801d2bdbb..1b7af3a64c7c 100644
--- a/include/scsi/fc/fc_fs.h
+++ b/include/scsi/fc/fc_fs.h
@@ -337,4 +337,9 @@ enum fc_pf_rjt_reason {
FC_RJT_VENDOR = 0xff, /* vendor specific reject */
};
+/* default timeout values */
+
+#define FC_DEF_E_D_TOV 2000UL
+#define FC_DEF_R_A_TOV 10000UL
+
#endif /* _FC_FS_H_ */