summaryrefslogtreecommitdiff
path: root/fs/nfs/nfs4_fs.h
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2016-06-26 08:44:35 -0400
committerTrond Myklebust <trond.myklebust@primarydata.com>2016-06-30 15:29:57 -0400
commit8487c479e2668dd1231e9c3c77a203d744aec081 (patch)
tree886f0174f465e4b27d97087118dd229db0358502 /fs/nfs/nfs4_fs.h
parentca857cc1d4cf17aba4bbb3b95d35454ad96924b3 (diff)
downloadlwn-8487c479e2668dd1231e9c3c77a203d744aec081.tar.gz
lwn-8487c479e2668dd1231e9c3c77a203d744aec081.zip
NFSv4: Allow retry of operations that used a returned delegation stateid
Fix up nfs4_do_handle_exception() so that it can check if the operation that received the NFS4ERR_BAD_STATEID was using a defunct delegation. Apply that to the case of SETATTR, which will currently return EIO in some cases where this happens. Reported-by: Olga Kornievskaia <kolga@netapp.com> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
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 768456fa1b17..4be567a54958 100644
--- a/fs/nfs/nfs4_fs.h
+++ b/fs/nfs/nfs4_fs.h
@@ -185,6 +185,7 @@ struct nfs4_state {
struct nfs4_exception {
struct nfs4_state *state;
struct inode *inode;
+ nfs4_stateid *stateid;
long timeout;
unsigned char delay : 1,
recovering : 1,