libceph: use target_copy() in send_linger()
authorIlya Dryomov <idryomov@gmail.com>
Wed, 10 Jun 2020 12:41:30 +0000 (14:41 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 3 Aug 2020 09:03:01 +0000 (11:03 +0200)
Instead of copying just oloc, oid and flags, copy the entire
linger target.  This is more for consistency than anything else,
as send_linger() -> submit_request() -> __submit_request() sends
the request regardless of what calc_target() says (i.e. both on
CALC_TARGET_NO_ACTION and CALC_TARGET_NEED_RESEND).

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
net/ceph/osd_client.c

index 2db8b44..db6abb5 100644 (file)
@@ -3076,9 +3076,7 @@ static void send_linger(struct ceph_osd_linger_request *lreq)
                cancel_linger_request(req);
 
        request_reinit(req);
-       ceph_oid_copy(&req->r_base_oid, &lreq->t.base_oid);
-       ceph_oloc_copy(&req->r_base_oloc, &lreq->t.base_oloc);
-       req->r_flags = lreq->t.flags;
+       target_copy(&req->r_t, &lreq->t);
        req->r_mtime = lreq->mtime;
 
        mutex_lock(&lreq->lock);