]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
NFSv42: Don't fail clone() unless the OP_CLONE operation failed
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Tue, 16 Nov 2021 14:55:01 +0000 (09:55 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Dec 2021 07:44:05 +0000 (08:44 +0100)
[ 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>
fs/nfs/nfs42xdr.c

index 0ca482a51e53200c3a3de15e347e8ba138b78c72..988d262029580f4b63e981970d35b17f9b7547c1 100644 (file)
@@ -439,8 +439,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;