]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd/pg: add is_missing_on_peer()
authorXuehan Xu <xuxuehan@qianxin.com>
Mon, 4 Nov 2024 07:18:19 +0000 (15:18 +0800)
committerXuehan Xu <xuxuehan@qianxin.com>
Tue, 12 Nov 2024 03:30:45 +0000 (11:30 +0800)
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
src/crimson/osd/pg.cc
src/crimson/osd/pg.h

index e2cdd09bb09bee9705bf611449752cf6a81de663..544ffb6a6853d31f06972e56fba394cde93d27e7 100644 (file)
@@ -1605,7 +1605,7 @@ bool PG::should_send_op(
     //    missing set
     hoid <= peering_state.get_peer_info(peer).last_backfill ||
     (has_backfill_state() && hoid <= get_last_backfill_started() &&
-     !peering_state.get_peer_missing(peer).is_missing(hoid)));
+     !is_missing_on_peer(peer, hoid)));
   if (!should_send) {
     ceph_assert(is_backfill_target(peer));
     logger().debug("{} issue_repop shipping empty opt to osd."
index cc798f60a5b6066020b74b55e3907174df9fb12e..632683690a2ea2a27f2f03bfe010f189e09bf863 100644 (file)
@@ -901,6 +901,11 @@ private:
       !peering_state.get_missing_loc().readable_with_acting(
        oid, get_actingset(), v);
   }
+  bool is_missing_on_peer(
+    const pg_shard_t &peer,
+    const hobject_t &soid) const {
+    return peering_state.get_peer_missing(peer).is_missing(soid);
+  }
   bool is_degraded_or_backfilling_object(const hobject_t& soid) const;
   const std::set<pg_shard_t> &get_actingset() const {
     return peering_state.get_actingset();