NFSv4: Fix a bug when the server returns NFS4ERR_RESOURCE
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Fri, 23 Oct 2009 18:46:42 +0000 (14:46 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 10 Nov 2009 00:52:34 +0000 (16:52 -0800)
commitb5d2222fa553a000577326fd2ea65d401f4ac000
tree7a1931e45110ff9c1bbc77641e9716146c0dd74f
parent8107fe51452d9213d5442a368ce710681b0c88c9
NFSv4: Fix a bug when the server returns NFS4ERR_RESOURCE

commit 52567b03ca38b6e556ced450d64dba8d66e23b0e upstream.

RFC 3530 states that when we recieve the error NFS4ERR_RESOURCE, we are not
supposed to bump the sequence number on OPEN, LOCK, LOCKU, CLOSE, etc
operations. The problem is that we map that error into EREMOTEIO in the XDR
layer, and so the NFSv4 middle-layer routines like seqid_mutating_err(),
and nfs_increment_seqid() don't recognise it.

The fix is to defer the mapping until after the middle layers have
processed the error.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/nfs/nfs4proc.c
fs/nfs/nfs4xdr.c