• Andrew Vasquez's avatar
    [SCSI] fc-transport: Close state transition-window during rport deletion. · 9a1a69a1
    Andrew Vasquez authored
    Andrew Vasquez wrote:
    > fc-transport: Close state transition-window during rport deletion.
    >
    > After an rport's state has transitioned to FC_PORTSTATE_BLOCKED,
    > but, prior to making the upcall to 'block' the scsi-target
    > associated with an rport, queued commands can recycle and
    > ultimately run out of retries causing failures to propagate to
    > upper-level drivers.  Close this transition-window by returning
    > the non-'retries' modifying DID_IMM_RETRY status for submitted
    > I/Os.
    
    The same can happen for iscsi when transitioning from logged in
    to failed and blocking the sdevs.
    
    This patch converts iscsi and fc's transitions back to use DID_IMM_RETRY
    instead of DID_TRANSPORT_DISRUPTED which has a limited number of retries
    that we do not want to use for handling this race.
    Signed-off-by: default avatarAndrew Vasquez <andrew.vasquez@qlogic.com>
    [Addition of iscsi and fc port online devloss case conversion by Mike Christie]
    Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
    9a1a69a1
scsi_transport_iscsi.c 53.3 KB