[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>
This commit is contained in:

committed by
James Bottomley

parent
bc0e17f691
commit
6755db1cd4
@@ -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_ */
|
||||
|
Reference in New Issue
Block a user