• James Smart's avatar
    nvme-fc: track error_recovery while connecting · caf1cbe3
    James Smart authored
    Whenever there are errors during CONNECTING, the driver recovers by
    aborting all outstanding ios and counts on the io completion to fail them
    and thus the connection/association they are on.  However, the connection
    failure depends on a failure state from the core routines.  Not all
    commands that are issued by the core routine are guaranteed to cause a
    failure of the core routine. They may be treated as a failure status and
    the status is then ignored.
    
    As such, whenever the transport enters error_recovery while CONNECTING,
    it will set a new flag indicating an association failed. The
    create_association routine which creates and initializes the controller,
    will monitor the state of the flag as well as the core routine error
    status and ensure the association fails if there was an error.
    Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    caf1cbe3
fc.c 107 KB