NFSv4: Handle more errors when recovering open file and locking state
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 17 Jun 2009 20:22:59 +0000 (13:22 -0700)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 17 Jun 2009 20:22:59 +0000 (13:22 -0700)
commit965b5d679146c9f69bc0325388bb9ed357863c4f
treed70fe13004404f1d3a203c8b9b90aa5f61150115
parentd5122201a7f90b2aa73092f158b84d1d74f1134d
NFSv4: Handle more errors when recovering open file and locking state

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: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/nfs4proc.c
fs/nfs/nfs4state.c