diff options
author | Trond Myklebust <trond.myklebust@hammerspace.com> | 2021-11-16 17:55:01 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-12-01 11:19:03 +0300 |
commit | 86c5adc7808384a504618d912fd4e956cac62cd7 (patch) | |
tree | cdd50ea62317d5b5ec3ed7ba393d057db034d4d6 | |
parent | c9ba7864d3a2bfaabd9dca31b0ea8e914d3333d5 (diff) | |
download | linux-86c5adc7808384a504618d912fd4e956cac62cd7.tar.xz |
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 c078f8855269..f2248d9d4db5 100644 --- a/fs/nfs/nfs42xdr.c +++ b/fs/nfs/nfs42xdr.c @@ -1396,8 +1396,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; |