summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@hammerspace.com>2021-11-16 09:55:01 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-12-01 09:27:42 +0100
commit301cdc22d74419c4f1309fcc5011bf041516c7fe (patch)
tree3fe7f35e7c8a4ac3b45297e2323b0cde8c4d0baa /fs
parentb03c7892c360071a733d8018b5b662b774b296b7 (diff)
downloadlinux-stable-301cdc22d74419c4f1309fcc5011bf041516c7fe.tar.gz
linux-stable-301cdc22d74419c4f1309fcc5011bf041516c7fe.tar.bz2
linux-stable-301cdc22d74419c4f1309fcc5011bf041516c7fe.zip
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.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/nfs/nfs42xdr.c b/fs/nfs/nfs42xdr.c
index ec9803088f6b..eee011de3f58 100644
--- a/fs/nfs/nfs42xdr.c
+++ b/fs/nfs/nfs42xdr.c
@@ -707,8 +707,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;