• Chuck Lever's avatar
    NFS: Support NFS4ERR_LEASE_MOVED recovery in state manager · b7f7a66e
    Chuck Lever authored
    A migration on the FSID in play for the current NFS operation
    is reported via the error status code NFS4ERR_MOVED.
    
    "Lease moved" means that a migration has occurred on some other
    FSID than the one for the current operation.  It's a signal that
    the client should take action immediately to handle a migration
    that it may not have noticed otherwise.  This is so that the
    client's lease does not expire unnoticed on the destination server.
    
    In NFSv4.0, a moved lease is reported with the NFS4ERR_LEASE_MOVED
    error status code.
    
    To recover from NFS4ERR_LEASE_MOVED, check each FSID for that server
    to see if it is still present.  Invoke nfs4_try_migration() if the
    FSID is no longer present on the server.
    Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
    Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
    b7f7a66e
nfs4state.c 63.8 KB