summaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4_fs.h
diff options
context:
space:
mode:
authorTrond Myklebust2012-03-07 22:39:06 +0100
committerTrond Myklebust2012-03-07 23:11:19 +0100
commit3114ea7a24d3264c090556a2444fc6d2c06176d4 (patch)
tree50b8f1f3f43c6eb93093abec368c070e2efdc7d2 /fs/nfs/nfs4_fs.h
parentNFSv4: Don't free the nfs4_lock_state until after the release_lockowner (diff)
downloadkernel-qcow2-linux-3114ea7a24d3264c090556a2444fc6d2c06176d4.tar.gz
kernel-qcow2-linux-3114ea7a24d3264c090556a2444fc6d2c06176d4.tar.xz
kernel-qcow2-linux-3114ea7a24d3264c090556a2444fc6d2c06176d4.zip
NFSv4: Return the delegation if the server returns NFS4ERR_OPENMODE
If a setattr() fails because of an NFS4ERR_OPENMODE error, it is probably due to us holding a read delegation. Ensure that the recovery routines return that delegation in this case. Reported-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Cc: stable@vger.kernel.org
Diffstat (limited to 'fs/nfs/nfs4_fs.h')
-rw-r--r--fs/nfs/nfs4_fs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h
index 026878cb2698..d1989e3f23c3 100644
--- a/fs/nfs/nfs4_fs.h
+++ b/fs/nfs/nfs4_fs.h
@@ -182,6 +182,7 @@ struct nfs4_exception {
long timeout;
int retry;
struct nfs4_state *state;
+ struct inode *inode;
};
struct nfs4_state_recovery_ops {