aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4proc.c
diff options
context:
space:
mode:
authorAndy Adamson <andros@netapp.com>2014-05-23 09:22:59 -0400
committerTrond Myklebust <trond.myklebust@primarydata.com>2014-05-29 16:46:03 -0400
commit8935ef664ea33a7ddd39015b26fe35aa7744f715 (patch)
tree4903b31b49e380baa35a0fb01c1f706fa6cc08c6 /fs/nfs/nfs4proc.c
parentf868089b09b51bd17ee41dedb96f98a1d0952fec (diff)
NFSv4: Use error handler on failed GETATTR with successful OPEN
Place the call to resend the failed GETATTR under the error handler so that when appropriate, the GETATTR is retried more than once. The server can fail the GETATTR op in the OPEN compound with a recoverable error such as NFS4ERR_DELAY. In the case of an O_EXCL open, the server has created the file, so a retrans of the OPEN call will fail with NFS4ERR_EXIST. Signed-off-by: Andy Adamson <andros@netapp.com> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r--fs/nfs/nfs4proc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 44fb93a66d26..68dd81e5b58a 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -2027,7 +2027,7 @@ static int _nfs4_proc_open(struct nfs4_opendata *data)
2027 return status; 2027 return status;
2028 } 2028 }
2029 if (!(o_res->f_attr->valid & NFS_ATTR_FATTR)) 2029 if (!(o_res->f_attr->valid & NFS_ATTR_FATTR))
2030 _nfs4_proc_getattr(server, &o_res->fh, o_res->f_attr, o_res->f_label); 2030 nfs4_proc_getattr(server, &o_res->fh, o_res->f_attr, o_res->f_label);
2031 return 0; 2031 return 0;
2032} 2032}
2033 2033