diff options
author | Trond Myklebust <trond.myklebust@hammerspace.com> | 2021-11-16 09:55:01 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-12-08 08:46:48 +0100 |
commit | 9b54bc6719a71ea7f0fa82398f9468a2ca833636 (patch) | |
tree | b3f5a70571fe064f756ee960521014909ac8d4f7 /fs | |
parent | ec2fe9e2217339435e3ceea68f9310251c4ed3b5 (diff) | |
download | linux-rt-9b54bc6719a71ea7f0fa82398f9468a2ca833636.tar.gz |
NFSv42: Don't fail clone() unless the OP_CLONE operation failed
[ Upstream commit d3c45824ad65aebf765fcf51366d317a29538820 ]
The failure to retrieve post-op attributes has no bearing on whether or
not the clone operation itself was successful. We must therefore ignore
the return value of decode_getfattr() when looking at the success or
failure of nfs4_xdr_dec_clone().
Fixes: 36022770de6c ("nfs42: add CLONE xdr functions")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfs/nfs42xdr.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/nfs/nfs42xdr.c b/fs/nfs/nfs42xdr.c index 5966e1e7b1f5..09c683402f95 100644 --- a/fs/nfs/nfs42xdr.c +++ b/fs/nfs/nfs42xdr.c @@ -625,8 +625,7 @@ static int nfs4_xdr_dec_clone(struct rpc_rqst *rqstp, status = decode_clone(xdr); if (status) goto out; - status = decode_getfattr(xdr, res->dst_fattr, res->server); - + decode_getfattr(xdr, res->dst_fattr, res->server); out: res->rpc_status = status; return status; |