]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/osd: replace get_peer_info() in BackfillState::PGFacade.
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Mon, 13 Jul 2020 12:23:49 +0000 (14:23 +0200)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 1 Dec 2020 12:20:15 +0000 (13:20 +0100)
`get_peer_info()` gets replaced with `get_peer_last_backfill()`.
The benefit is no need to mock peer's `pg_info_t` in unit test.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/osd/backfill_facades.h
src/crimson/osd/backfill_state.cc

index d6d6f91e363b79d87f6ae3c8baf31a8e4aa39651..3db72324f3b77869ca68c49d29ce8b78eec449b1 100644 (file)
@@ -23,8 +23,8 @@ struct BackfillState::PeeringFacade {
     return peering_state.get_backfill_targets();
   }
 
-  decltype(auto) get_peer_info(pg_shard_t peer) const {
-    return peering_state.get_peer_info(peer);
+  decltype(auto) get_peer_last_backfill(pg_shard_t peer) const {
+    return peering_state.get_peer_info(peer).last_backfill;
   }
 
   decltype(auto) get_info() const {
index 1ffadd4e8483ca127e9a8d74831f135155d48916..d73e9f00df12878e9d57f3cf19e23d6350df55ba 100644 (file)
@@ -70,7 +70,7 @@ BackfillState::Initial::Initial(my_context ctx)
                  backfill_state().last_backfill_started);
   for (const auto& bt : peering_state().get_backfill_targets()) {
     logger().debug("{}: target shard {} from {}",
-                   __func__, bt, peering_state().get_peer_info(bt).last_backfill);
+                   __func__, bt, peering_state().get_peer_last_backfill(bt));
   }
   ceph_assert(peering_state().get_backfill_targets().size());
   ceph_assert(!backfill_state().last_backfill_started.is_max());
@@ -86,7 +86,7 @@ BackfillState::Initial::react(const BackfillState::Triggered& evt)
   // initialize BackfillIntervals
   for (const auto& bt : peering_state().get_backfill_targets()) {
     backfill_state().peer_backfill_info[bt].reset(
-      peering_state().get_peer_info(bt).last_backfill);
+      peering_state().get_peer_last_backfill(bt));
   }
   backfill_state().backfill_info.reset(backfill_state().last_backfill_started);
   if (Enqueuing::all_enqueued(peering_state(),
@@ -156,7 +156,7 @@ void BackfillState::Enqueuing::trim_backfill_infos()
 {
   for (const auto& bt : peering_state().get_backfill_targets()) {
     backfill_state().peer_backfill_info[bt].trim_to(
-      std::max(peering_state().get_peer_info(bt).last_backfill,
+      std::max(peering_state().get_peer_last_backfill(bt),
                backfill_state().last_backfill_started));
   }
   backfill_state().backfill_info.trim_to(
@@ -264,11 +264,10 @@ BackfillState::Enqueuing::update_on_peers(const hobject_t& check)
       }
       result.pbi_targets.insert(bt);
     } else {
-      const pg_info_t& pinfo = peering_state().get_peer_info(bt);
       // Only include peers that we've caught up to their backfill line
       // otherwise, they only appear to be missing this object
       // because their peer_bi.begin > backfill_info.begin.
-      if (primary_bi.begin > pinfo.last_backfill) {
+      if (primary_bi.begin > peering_state().get_peer_last_backfill(bt)) {
         backfill_state().progress_tracker->enqueue_push(primary_bi.begin);
         backfill_listener().enqueue_push(bt, primary_bi.begin, obj_v);
       }