提交 a5a14a58 编写于 作者: T Trond Myklebust 提交者: Zheng Zengkai

NFSv42: Don't fail clone() unless the OP_CLONE operation failed

stable inclusion
from stable-v5.10.83
commit 86c5adc7808384a504618d912fd4e956cac62cd7
bugzilla: 185879 https://gitee.com/openeuler/kernel/issues/I4QUVG

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=86c5adc7808384a504618d912fd4e956cac62cd7

--------------------------------

[ Upstream commit d3c45824 ]

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: 36022770 ("nfs42: add CLONE xdr functions")
Signed-off-by: NTrond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: NSasha Levin <sashal@kernel.org>
Signed-off-by: NChen Jun <chenjun102@huawei.com>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
上级 a85c2551
...@@ -1396,8 +1396,7 @@ static int nfs4_xdr_dec_clone(struct rpc_rqst *rqstp, ...@@ -1396,8 +1396,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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册