]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: don't assert in-flight backfill is always in recovery list 41320/head
authorMykola Golub <mgolub@suse.com>
Tue, 11 May 2021 06:53:08 +0000 (07:53 +0100)
committerMykola Golub <mgolub@suse.com>
Thu, 13 May 2021 08:07:16 +0000 (11:07 +0300)
In PrimaryLogPG::on_failed_pull, we unconditionally remove soid
from recovering list, but remove it from backfills_in_flight only
when the backfill source is the primary osd.

Fixes: https://tracker.ceph.com/issues/50351
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit 9b78e00bdf3dd35478e678661606a59424621c4b)

src/osd/PrimaryLogPG.cc

index 24b53d6967458643d5ab93523c848c1ad690ee75..71f5e68ab1b2cd58416c0893052934e2b9aed82c 100644 (file)
@@ -12765,7 +12765,6 @@ void PrimaryLogPG::_clear_recovery_state()
   last_backfill_started = hobject_t();
   set<hobject_t>::iterator i = backfills_in_flight.begin();
   while (i != backfills_in_flight.end()) {
-    ceph_assert(recovering.count(*i));
     backfills_in_flight.erase(i++);
   }