]> git.apps.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>
Thu, 27 Apr 2023 13:13:56 +0000 (18:43 +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 b466a013e25fadf3173130968491941cb492ca86..e4149f9fa0506808cde487b2e6d75bf651c986b0 100644 (file)
@@ -1577,6 +1577,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 9fc2a049331b58a803f0536ef8774cab507ecb1b..8857eaf884f0c7f5a5f358c6aa1ce94324820552 100644 (file)
@@ -4527,7 +4527,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(
@@ -13495,7 +13495,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;
@@ -13518,7 +13518,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;
 }
 
@@ -13588,7 +13588,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;
@@ -13738,7 +13738,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;
 }
 
@@ -14063,7 +14063,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 f7356be8e9f010fab06a3781fa766eaa4f1a81c3..334ecb0d41808b46a15152757eb2a42f6066912c 100644 (file)
@@ -1532,12 +1532,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;