diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-12-23 15:21:46 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-12-23 15:21:46 -0500 |
commit | 9e33bed55239bdcee1746c31a11177d239bac1b5 (patch) | |
tree | b6ff90aa50b1d71722ce8eb3f2cecc28dafc3e4d /fs/nfs/nfs4state.c | |
parent | 95d35cb4c473c754824967c0b069bbeb7efa4847 (diff) |
NFSv4: Add recovery for individual stateids
NFSv4 defines a number of state errors which the client does not currently
handle. Among those we should worry about are:
NFS4ERR_ADMIN_REVOKED - the server's administrator revoked our locks
and/or delegations.
NFS4ERR_BAD_STATEID - the client and server are out of sync, possibly
due to a delegation return racing with an OPEN
request.
NFS4ERR_OPENMODE - the client attempted to do something not sanctioned
by the open mode of the stateid. Should normally just
occur as a result of a delegation return race.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4state.c')
-rw-r--r-- | fs/nfs/nfs4state.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c index ec0cbe00a804..3d78706b3efb 100644 --- a/fs/nfs/nfs4state.c +++ b/fs/nfs/nfs4state.c | |||
@@ -824,7 +824,7 @@ static int nfs4_state_mark_reclaim_reboot(struct nfs_client *clp, struct nfs4_st | |||
824 | return 1; | 824 | return 1; |
825 | } | 825 | } |
826 | 826 | ||
827 | static int nfs4_state_mark_reclaim_nograce(struct nfs_client *clp, struct nfs4_state *state) | 827 | int nfs4_state_mark_reclaim_nograce(struct nfs_client *clp, struct nfs4_state *state) |
828 | { | 828 | { |
829 | set_bit(NFS_STATE_RECLAIM_NOGRACE, &state->flags); | 829 | set_bit(NFS_STATE_RECLAIM_NOGRACE, &state->flags); |
830 | clear_bit(NFS_STATE_RECLAIM_REBOOT, &state->flags); | 830 | clear_bit(NFS_STATE_RECLAIM_REBOOT, &state->flags); |