aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi/libfc.h
diff options
context:
space:
mode:
authorJoe Eykholt <jeykholt@cisco.com>2009-08-25 14:03:47 -0700
committerJames Bottomley <James.Bottomley@suse.de>2009-09-10 12:08:02 -0500
commit370c3bd05cf02afabea9cd3f2de66202d6b516dc (patch)
tree832cf6b3091db117f119aa8692d050f43fe0a9cb /include/scsi/libfc.h
parent68a1750b46ad5177f7703081b5fe85624f1aa62b (diff)
downloadkernel_samsung_smdk4412-370c3bd05cf02afabea9cd3f2de66202d6b516dc.zip
kernel_samsung_smdk4412-370c3bd05cf02afabea9cd3f2de66202d6b516dc.tar.gz
kernel_samsung_smdk4412-370c3bd05cf02afabea9cd3f2de66202d6b516dc.tar.bz2
[SCSI] libfc: use ADISC to verify rport login state
When rport_login is called on an rport that is already thought to be logged in, use ADISC. If that fails, redo PLOGI. This is less disruptive after fabric changes that don't affect the state of the target. Implement the sending of ADISC via fc_els_fill. Add ADISC state to the rport state machine. This is entered from READY and returns to READY after successful completion. If it fails, the rport is either logged off and deleted or re-does PLOGI. Signed-off-by: Joe Eykholt <jeykholt@cisco.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'include/scsi/libfc.h')
-rw-r--r--include/scsi/libfc.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/scsi/libfc.h b/include/scsi/libfc.h
index e18e5ce..65dc9aac 100644
--- a/include/scsi/libfc.h
+++ b/include/scsi/libfc.h
@@ -143,6 +143,7 @@ enum fc_rport_state {
RPORT_ST_RTV, /* waiting for RTV completion */
RPORT_ST_READY, /* ready for use */
RPORT_ST_LOGO, /* port logout sent */
+ RPORT_ST_ADISC, /* Discover Address sent */
RPORT_ST_DELETE, /* port being deleted */
};