]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PeeringState: eliminate unused cct from PGPool
authorSamuel Just <sjust@redhat.com>
Fri, 20 Sep 2019 00:25:00 +0000 (17:25 -0700)
committerXuehan Xu <xxhdx1985126@163.com>
Sun, 26 Apr 2020 07:46:34 +0000 (15:46 +0800)
Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/osd/pg.cc
src/osd/OSD.cc
src/osd/PeeringState.cc
src/osd/PeeringState.h

index 917e4ca447e3192b3963891c9d19b5b4efea0c45..9ebaf121efcea11081431bbf13a480a4a081ba26 100644 (file)
@@ -103,7 +103,6 @@ PG::PG(
       pg_shard,
       pgid,
       PGPool(
-       shard_services.get_cct(),
        osdmap,
        pgid.pool(),
        pool,
index 133ebb984b2574d5f993c6035af81644daa80a39..41f72879b39f8fceb771c4caea237f833ece5a12 100644 (file)
@@ -4527,7 +4527,7 @@ PG* OSD::_make_pg(
     }
     decode(ec_profile, p);
   }
-  PGPool pool(cct, createmap, pgid.pool(), pi, name);
+  PGPool pool(createmap, pgid.pool(), pi, name);
   PG *pg;
   if (pi.type == pg_pool_t::TYPE_REPLICATED ||
       pi.type == pg_pool_t::TYPE_ERASURE)
index 36216664e2575389af0e4f7bbd975209c9c62b31..324cff0f5f8fd653cc8a394bfeef2361fc9b0da9 100644 (file)
@@ -104,7 +104,7 @@ void BufferedRecoveryMessages::send_info(
   }
 }
 
-void PGPool::update(CephContext *cct, OSDMapRef map)
+void PGPool::update(OSDMapRef map)
 {
   const pg_pool_t *pi = map->get_pg_pool(id);
   if (!pi) {
@@ -431,7 +431,7 @@ void PeeringState::advance_map(
            << dendl;
 
   update_osdmap_ref(osdmap);
-  pool.update(cct, osdmap);
+  pool.update(osdmap);
 
   AdvMap evt(
     osdmap, lastmap, newup, up_primary,
@@ -440,7 +440,7 @@ void PeeringState::advance_map(
   if (pool.info.last_change == osdmap_ref->get_epoch()) {
     pl->on_pool_change();
   }
-  readable_interval = pool.get_readable_interval();
+  readable_interval = pool.get_readable_interval(cct->_conf);
   last_require_osd_release = osdmap->require_osd_release;
 }
 
index e7ad22815678b6c9f188e534da6fb03d82cec112..53b50b5c7a51db58987f0e5a87ecf9771fd9a5bc 100644 (file)
@@ -27,7 +27,6 @@
 #include "common/ostream_temp.h"
 
 struct PGPool {
-  CephContext* cct;
   epoch_t cached_epoch;
   int64_t id;
   std::string name;
@@ -35,25 +34,24 @@ struct PGPool {
   pg_pool_t info;
   SnapContext snapc;   // the default pool snapc, ready to go.
 
-  PGPool(CephContext* cct, OSDMapRef map, int64_t i, const pg_pool_t& info,
+  PGPool(OSDMapRef map, int64_t i, const pg_pool_t& info,
         const std::string& name)
-    : cct(cct),
-      cached_epoch(map->get_epoch()),
+    : cached_epoch(map->get_epoch()),
       id(i),
       name(name),
       info(info) {
     snapc = info.get_snap_context();
   }
 
-  void update(CephContext *cct, OSDMapRef map);
+  void update(OSDMapRef map);
 
-  ceph::timespan get_readable_interval() const {
+  ceph::timespan get_readable_interval(ConfigProxy &conf) const {
     double v = 0;
     if (info.opts.get(pool_opts_t::READ_LEASE_INTERVAL, &v)) {
       return ceph::make_timespan(v);
     } else {
-      auto hbi = cct->_conf->osd_heartbeat_grace;
-      auto fac = cct->_conf->osd_pool_default_read_lease_ratio;
+      auto hbi = conf->osd_heartbeat_grace;
+      auto fac = conf->osd_pool_default_read_lease_ratio;
       return ceph::make_timespan(hbi * fac);
     }
   }