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-01 09:27:42 +0100 |
commit | 301cdc22d74419c4f1309fcc5011bf041516c7fe (patch) | |
tree | 3fe7f35e7c8a4ac3b45297e2323b0cde8c4d0baa | |
parent | b03c7892c360071a733d8018b5b662b774b296b7 (diff) | |
download | linux-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>
-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 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; |