• Trond Myklebust's avatar
    NFSv4: Handle more errors when recovering open file and locking state · 965b5d67
    Trond Myklebust authored
    It is possible for servers to return NFS4ERR_BAD_STATEID when
    the state management code is recovering locks or is reclaiming state when
    returning a delegation. Ensure that we handle that case.
    While we're at it, add in handlers for NFS4ERR_STALE,
    NFS4ERR_ADMIN_REVOKED, NFS4ERR_OPENMODE, NFS4ERR_DENIED and
    NFS4ERR_STALE_STATEID, since the protocol appears to allow for them too.
    
    Also handle ENOMEM...
    
    Finally, rather than add new NFSv4.0-specific errors and error handling into
    the generic delegation code, move that open file and locking state error
    handling into the NFSv4 layer.
    Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
    965b5d67
nfs4state.c 31.2 KB