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

committed by
James Bottomley

parent
68a1750b46
commit
370c3bd05c
@@ -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 */
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user