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: 36022770de ("nfs42: add CLONE xdr functions")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Trond Myklebust 2021-11-16 09:55:01 -05:00 committed by Greg Kroah-Hartman
parent ce50e97a06
commit a078967dd3

View File

@ -769,8 +769,7 @@ static int nfs4_xdr_dec_clone(struct rpc_rqst *rqstp,
status = decode_clone(xdr); status = decode_clone(xdr);
if (status) if (status)
goto out; goto out;
status = decode_getfattr(xdr, res->dst_fattr, res->server); decode_getfattr(xdr, res->dst_fattr, res->server);
out: out:
res->rpc_status = status; res->rpc_status = status;
return status; return status;