]> 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 41270/head
authorMykola Golub <mgolub@suse.com>
Tue, 11 May 2021 06:53:08 +0000 (07:53 +0100)
committerMykola Golub <mgolub@suse.com>
Tue, 11 May 2021 06:53:08 +0000 (07:53 +0100)
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>
src/osd/PrimaryLogPG.cc

index e660cc49fa53d5baa7c5c900a0cee4cdcd529502..0d7b5e756f19757726f68cfdd87cbb1208e68659 100644 (file)
@@ -13084,7 +13084,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++);
   }