• Andy Adamson's avatar
    nfs41: kick start nfs41 session recovery when handling errors · 4745e315
    Andy Adamson authored
    Remove checking for any errors that the SEQUENCE operation does not return.
    -NFS4ERR_STALE_CLIENTID, NFS4ERR_EXPIRED, NFS4ERR_CB_PATH_DOWN, NFS4ERR_BACK_CHAN_BUSY, NFS4ERR_OP_NOT_IN_SESSION.
    
    SEQUENCE operation error recovery is very primative, we only reset the session.
    
    Remove checking for any errors that are returned by the SEQUENCE operation, but
    that resetting the session won't address.
    NFS4ERR_RETRY_UNCACHED_REP, NFS4ERR_SEQUENCE_POS,NFS4ERR_TOO_MANY_OPS.
    
    Add error checking for missing SEQUENCE errors that a session reset will
    address.
    NFS4ERR_BAD_HIGH_SLOT, NFS4ERR_DEADSESSION, NFS4ERR_SEQ_FALSE_RETRY.
    
    A reset of the session is currently our only response to a SEQUENCE operation
    error. Don't reset the session on errors where a new session won't help.
    
    Don't reset the session on errors where a new session won't help.
    
    [nfs41: nfs4_async_handle_error update error checking]
    Signed-off-by: default avatarAndy Adamson <andros@netapp.com>
    Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
    [nfs41: trigger the state manager for session reset]
        Replace session state bit with nfs_client state bit.  Set the
        NFS4CLNT_SESSION_SETUP bit upon a session related error in the sync/async
        error handlers.
    [nfs41: _nfs4_async_handle_error fix session reset error list]
    Sequence operation errors that session reset could help.
    NFS4ERR_BADSESSION
    NFS4ERR_BADSLOT
    NFS4ERR_BAD_HIGH_SLOT
    NFS4ERR_DEADSESSION
    NFS4ERR_CONN_NOT_BOUND_TO_SESSION
    NFS4ERR_SEQ_FALSE_RETRY
    NFS4ERR_SEQ_MISORDERED
    
    Sequence operation errors that a session reset would not help
    
    NFS4ERR_BADXDR
    NFS4ERR_DELAY
    NFS4ERR_REP_TOO_BIG
    NFS4ERR_REP_TOO_BIG_TO_CACHE
    NFS4ERR_REQ_TOO_BIG
    NFS4ERR_RETRY_UNCACHED_REP
    NFS4ERR_SEQUENCE_POS
    NFS4ERR_TOO_MANY_OPS
    Signed-off-by: default avatarAndy Adamson <andros@netapp.com>
    [nfs41 nfs4_handle_exception fix session reset error list]
    Signed-off-by: default avatarAndy Adamson <andros@netapp.com>
    Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
    [moved nfs41_sequece_call_done code to nfs41: sequence operation]
    Signed-off-by: default avatarAndy Adamson <andros@netapp.com>
    Signed-off-by: default avatarBenny Halevy <bhalevy@panasas.com>
    Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
    4745e315
nfs4proc.c 129 KB