Skip to content

Commit c5eacfc

Browse files
authored
Merge pull request ceph#60572 from xxhdx1985126/wip-68787
crimson/osd/backfill_state: don't try to do object backfills when primary_bi is empty Reviewed-by: Matan Breizman <[email protected]>
2 parents 2954608 + 749007f commit c5eacfc

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/crimson/osd/backfill_state.cc

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -379,16 +379,17 @@ BackfillState::Enqueuing::Enqueuing(my_context ctx)
379379
trim_backfilled_object_from_intervals(std::move(result),
380380
backfill_state().last_backfill_started,
381381
backfill_state().peer_backfill_info);
382-
} else {
382+
backfill_listener().maybe_flush();
383+
} else if (!primary_bi.empty()) {
383384
auto result = update_on_peers(check);
384385
trim_backfilled_object_from_intervals(std::move(result),
385386
backfill_state().last_backfill_started,
386387
backfill_state().peer_backfill_info);
387-
if (!primary_bi.empty()) {
388-
primary_bi.pop_front();
389-
}
388+
primary_bi.pop_front();
389+
backfill_listener().maybe_flush();
390+
} else {
391+
break;
390392
}
391-
backfill_listener().maybe_flush();
392393
} while (!all_emptied(primary_bi, backfill_state().peer_backfill_info));
393394

394395
if (backfill_state().progress_tracker->tracked_objects_completed()

0 commit comments

Comments
 (0)