]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
libceph: don't omit recovery_deletes in target_copy()
authorIlya Dryomov <idryomov@gmail.com>
Tue, 9 Jun 2020 09:57:56 +0000 (11:57 +0200)
committerKhalid Elmously <khalid.elmously@canonical.com>
Sat, 8 Aug 2020 05:53:12 +0000 (01:53 -0400)
BugLink: https://bugs.launchpad.net/bugs/1888560
commit 2f3fead62144002557f322c2a7c15e1255df0653 upstream.

Currently target_copy() is used only for sending linger pings, so
this doesn't come up, but generally omitting recovery_deletes can
result in unneeded resends (force_resend in calc_target()).

Fixes: ae78dd8139ce ("libceph: make RECOVERY_DELETES feature create a new interval")
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kelsey Skunberg <kelsey.skunberg@canonical.com>
net/ceph/osd_client.c

index e513b8876d131998d3f3503bb7178b9e7a7344eb..a8481da37f1ad5a99bb9d6dbf14d973a6ceb37ab 100644 (file)
@@ -445,6 +445,7 @@ static void target_copy(struct ceph_osd_request_target *dest,
        dest->size = src->size;
        dest->min_size = src->min_size;
        dest->sort_bitwise = src->sort_bitwise;
+       dest->recovery_deletes = src->recovery_deletes;
 
        dest->flags = src->flags;
        dest->paused = src->paused;