]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/: move get_recovery_op_priority into PeeringState next to get_*_priority
authorSamuel Just <sjust@redhat.com>
Thu, 6 Apr 2023 03:45:19 +0000 (03:45 +0000)
committerSridhar Seshasayee <sseshasa@redhat.com>
Mon, 8 May 2023 09:16:25 +0000 (14:46 +0530)
Consolidate methods governing recovery scheduling in PeeringState.

Signed-off-by: Samuel Just <sjust@redhat.com>
src/osd/PeeringState.h
src/osd/PrimaryLogPG.cc
src/osd/PrimaryLogPG.h

index 3cec0f2daa360c443ba6c0fc77d2e1bcb2147d71..eb5bcff83a87b0f661b4467a9f9875dc42417e12 100644 (file)
@@ -1560,6 +1560,15 @@ public:
   /// get priority for pg deletion
   unsigned get_delete_priority();
 
+public:
+  /// get message priority for recovery messages
+  int get_recovery_op_priority() const {
+    int64_t pri = 0;
+    pool.info.opts.get(pool_opts_t::RECOVERY_OP_PRIORITY, &pri);
+    return  pri > 0 ? pri : cct->_conf->osd_recovery_op_priority;
+  }
+
+private:
   bool check_prior_readable_down_osds(const OSDMapRef& map);
 
   bool adjust_need_up_thru(const OSDMapRef osdmap);
index bc2c4e0ca84dc3c11810e74047988d16c9971e35..d278bacc06359b719756a9e321b6c66cb2651b8c 100644 (file)
@@ -4524,7 +4524,7 @@ void PrimaryLogPG::do_backfill(OpRequestRef op)
        get_osdmap_epoch(),
        m->query_epoch,
        spg_t(info.pgid.pgid, get_primary().shard));
-      reply->set_priority(get_recovery_op_priority());
+      reply->set_priority(recovery_state.get_recovery_op_priority());
       osd->send_message_osd_cluster(reply, m->get_connection());
       queue_peering_event(
        PGPeeringEventRef(
@@ -13502,7 +13502,7 @@ uint64_t PrimaryLogPG::recover_primary(uint64_t max, ThreadPool::TPHandle &handl
        ++skipped;
       } else {
        int r = recover_missing(
-         soid, need, get_recovery_op_priority(), h);
+         soid, need, recovery_state.get_recovery_op_priority(), h);
        switch (r) {
        case PULL_YES:
          ++started;
@@ -13525,7 +13525,7 @@ uint64_t PrimaryLogPG::recover_primary(uint64_t max, ThreadPool::TPHandle &handl
       recovery_state.set_last_requested(v);
   }
 
-  pgbackend->run_recovery_op(h, get_recovery_op_priority());
+  pgbackend->run_recovery_op(h, recovery_state.get_recovery_op_priority());
   return started;
 }
 
@@ -13595,7 +13595,7 @@ int PrimaryLogPG::prep_object_replica_pushes(
       } else {
        int r = recover_missing(
            head, recovery_state.get_pg_log().get_missing().get_items().find(head)->second.need,
-           get_recovery_op_priority(), h);
+           recovery_state.get_recovery_op_priority(), h);
        if (r != PULL_NONE)
          return 1;
        return 0;
@@ -13745,7 +13745,7 @@ uint64_t PrimaryLogPG::recover_replicas(uint64_t max, ThreadPool::TPHandle &hand
     }
   }
 
-  pgbackend->run_recovery_op(h, get_recovery_op_priority());
+  pgbackend->run_recovery_op(h, recovery_state.get_recovery_op_priority());
   return started;
 }
 
@@ -14070,7 +14070,7 @@ uint64_t PrimaryLogPG::recover_backfill(
                                  get_osdmap_epoch());
   }
 
-  pgbackend->run_recovery_op(h, get_recovery_op_priority());
+  pgbackend->run_recovery_op(h, recovery_state.get_recovery_op_priority());
 
   hobject_t backfill_pos =
     std::min(backfill_info.begin, earliest_peer_backfill());
index 14b9aeb25d70bdaf6d68c1bf138e5052c533c0a1..a0505004c958be03610bbbfe2406dc47df8a586d 100644 (file)
@@ -1533,12 +1533,6 @@ private:
   /// generate a new temp object name (for recovery)
   hobject_t get_temp_recovery_object(const hobject_t& target,
                                     eversion_t version) override;
-  int get_recovery_op_priority() const {
-    int64_t pri = 0;
-    pool.info.opts.get(pool_opts_t::RECOVERY_OP_PRIORITY, &pri);
-    return  pri > 0 ? pri : cct->_conf->osd_recovery_op_priority;
-  }
-
 public:
   coll_t get_coll() {
     return coll;