OSDN Git Service

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)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Wed, 17 Nov 2021 19:08:23 +0000 (14:08 -0500)
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>
fs/nfs/nfs42xdr.c

index c8bad73..271e5f9 100644 (file)
@@ -1434,8 +1434,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;