]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: pass const variables by const ref not pointer
authorKefu Chai <kchai@redhat.com>
Fri, 24 Feb 2017 12:38:03 +0000 (20:38 +0800)
committerKefu Chai <kchai@redhat.com>
Thu, 30 Mar 2017 12:21:17 +0000 (20:21 +0800)
* PGMapUpdater::check_down_pgs(): pass a const reference to pgmap
  instead of a pointer
* PGMapUpdater::register_new_pgs(): pass a const reference to pgmap
  instead of a pointer

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/mgr/ClusterState.cc
src/mon/PGMap.cc
src/mon/PGMap.h
src/mon/PGMonitor.cc

index c689eb310a7b015999ae5044ce2d6866efeaa569..0e224adadcbe757b24ea79ba2081b32c54a41c73 100644 (file)
@@ -100,13 +100,13 @@ void ClusterState::notify_osdmap(const OSDMap &osd_map)
   PGMap::Incremental pending_inc;
   pending_inc.version = pg_map.version + 1; // to make apply_incremental happy
 
-  PGMapUpdater::update_creating_pgs(osd_map, &pg_map, &pending_inc);
-  PGMapUpdater::register_new_pgs(osd_map, &pg_map, &pending_inc);
+  PGMapUpdater::update_creating_pgs(osd_map, pg_map, &pending_inc);
+  PGMapUpdater::register_new_pgs(osd_map, pg_map, &pending_inc);
 
   // brute force this for now (don't bother being clever by only
   // checking osds that went up/down)
   set<int> need_check_down_pg_osds;
-  PGMapUpdater::check_down_pgs(osd_map, &pg_map, true,
+  PGMapUpdater::check_down_pgs(osd_map, pg_map, true,
                               need_check_down_pg_osds, &pending_inc);
 
   pg_map.apply_incremental(g_ceph_context, pending_inc);
index 539ed74c74f404e6a981e6ea96115ba87ceaf5a6..ae19174e4f50c819c015f1143e5a4d280c3542ff 100644 (file)
@@ -2129,12 +2129,12 @@ void PGMapUpdater::register_pg(
     const OSDMap &osd_map,
     pg_t pgid, epoch_t epoch,
     bool new_pool,
-    PGMap *pg_map,
+    const PGMap &pg_map,
     PGMap::Incremental *pending_inc)
 {
   pg_t parent;
   int split_bits = 0;
-  bool parent_found = false;
+  auto parent_stat = pg_map.pg_stat.end();
   if (!new_pool) {
     parent = pgid;
     while (1) {
@@ -2145,10 +2145,10 @@ void PGMapUpdater::register_pg(
       parent.set_ps(parent.ps() & ~(1<<(msb-1)));
       split_bits++;
       dout(30) << " is " << pgid << " parent " << parent << " ?" << dendl;
-      if (pg_map->pg_stat.count(parent) &&
-          pg_map->pg_stat[parent].state != PG_STATE_CREATING) {
+      parent_stat = pg_map.pg_stat.find(parent);
+      if (parent_stat != pg_map.pg_stat.end() &&
+          parent_stat->second.state != PG_STATE_CREATING) {
        dout(10) << "  parent is " << parent << dendl;
-       parent_found = true;
        break;
       }
     }
@@ -2161,8 +2161,8 @@ void PGMapUpdater::register_pg(
   stats.parent_split_bits = split_bits;
   stats.mapping_epoch = epoch;
 
-  if (parent_found) {
-    pg_stat_t &ps = pg_map->pg_stat[parent];
+  if (parent_stat != pg_map.pg_stat.end()) {
+    const pg_stat_t &ps = parent_stat->second;
     stats.last_fresh = ps.last_fresh;
     stats.last_active = ps.last_active;
     stats.last_change = ps.last_change;
@@ -2213,12 +2213,12 @@ void PGMapUpdater::register_pg(
 
 void PGMapUpdater::register_new_pgs(
     const OSDMap &osd_map,
-    PGMap *pg_map,
+    const PGMap &pg_map,
     PGMap::Incremental *pending_inc)
 {
   epoch_t epoch = osd_map.get_epoch();
   dout(10) << __func__ << " checking pg pools for osdmap epoch " << epoch
-           << ", last_pg_scan " << pg_map->last_pg_scan << dendl;
+           << ", last_pg_scan " << pg_map.last_pg_scan << dendl;
 
   int created = 0;
   const auto &pools = osd_map.get_pools();
@@ -2231,7 +2231,7 @@ void PGMapUpdater::register_new_pgs(
     if (ruleno < 0 || !osd_map.crush->rule_exists(ruleno))
       continue;
 
-    if (pool.get_last_change() <= pg_map->last_pg_scan ||
+    if (pool.get_last_change() <= pg_map.last_pg_scan ||
         pool.get_last_change() <= pending_inc->pg_scan) {
       dout(10) << " no change in pool " << poolid << " " << pool << dendl;
       continue;
@@ -2241,11 +2241,11 @@ void PGMapUpdater::register_new_pgs(
              << " " << pool << dendl;
 
     // first pgs in this pool
-    bool new_pool = pg_map->pg_pool_sum.count(poolid) == 0;
+    bool new_pool = pg_map.pg_pool_sum.count(poolid) == 0;
 
     for (ps_t ps = 0; ps < pool.get_pg_num(); ps++) {
       pg_t pgid(ps, poolid, -1);
-      if (pg_map->pg_stat.count(pgid)) {
+      if (pg_map.pg_stat.count(pgid)) {
        dout(20) << "register_new_pgs  have " << pgid << dendl;
        continue;
       }
@@ -2256,7 +2256,7 @@ void PGMapUpdater::register_new_pgs(
   }
 
   int removed = 0;
-  for (const auto &p : pg_map->creating_pgs) {
+  for (const auto &p : pg_map.creating_pgs) {
     if (p.preferred() >= 0) {
       dout(20) << " removing creating_pg " << p
                << " because it is localized and obsolete" << dendl;
@@ -2272,7 +2272,7 @@ void PGMapUpdater::register_new_pgs(
   }
 
   // deleted pools?
-  for (const auto &p : pg_map->pg_stat) {
+  for (const auto &p : pg_map.pg_stat) {
     if (!osd_map.have_pg_pool(p.first.pool())) {
       dout(20) << " removing pg_stat " << p.first << " because "
                << "containing pool deleted" << dendl;
@@ -2296,22 +2296,22 @@ void PGMapUpdater::register_new_pgs(
 
 void PGMapUpdater::update_creating_pgs(
     const OSDMap &osd_map,
-    PGMap *pg_map,
+    const PGMap &pg_map,
     PGMap::Incremental *pending_inc)
 {
-  dout(10) << __func__ << " to " << pg_map->creating_pgs.size()
+  dout(10) << __func__ << " to " << pg_map.creating_pgs.size()
            << " pgs, osdmap epoch " << osd_map.get_epoch()
            << dendl;
 
   unsigned changed = 0;
-  for (set<pg_t>::const_iterator p = pg_map->creating_pgs.begin();
-       p != pg_map->creating_pgs.end();
+  for (set<pg_t>::const_iterator p = pg_map.creating_pgs.begin();
+       p != pg_map.creating_pgs.end();
        ++p) {
     pg_t pgid = *p;
     pg_t on = pgid;
     ceph::unordered_map<pg_t,pg_stat_t>::const_iterator q =
-      pg_map->pg_stat.find(pgid);
-    assert(q != pg_map->pg_stat.end());
+      pg_map.pg_stat.find(pgid);
+    assert(q != pg_map.pg_stat.end());
     const pg_stat_t *s = &q->second;
 
     if (s->parent_split_bits)
@@ -2401,7 +2401,7 @@ static void _try_mark_pg_stale(
 
 void PGMapUpdater::check_down_pgs(
     const OSDMap &osdmap,
-    const PGMap *pg_map,
+    const PGMap &pg_map,
     bool check_all,
     const set<int>& need_check_down_pg_osds,
     PGMap::Incremental *pending_inc)
@@ -2414,18 +2414,18 @@ void PGMapUpdater::check_down_pgs(
   }
 
   if (check_all) {
-    for (const auto& p : pg_map->pg_stat) {
+    for (const auto& p : pg_map.pg_stat) {
       _try_mark_pg_stale(osdmap, p.first, p.second, pending_inc);
     }
   } else {
     for (auto osd : need_check_down_pg_osds) {
       if (osdmap.is_down(osd)) {
-       auto p = pg_map->pg_by_osd.find(osd);
-       if (p == pg_map->pg_by_osd.end()) {
+       auto p = pg_map.pg_by_osd.find(osd);
+       if (p == pg_map.pg_by_osd.end()) {
          continue;
        }
        for (auto pgid : p->second) {
-         const pg_stat_t &stat = pg_map->pg_stat.at(pgid);
+         const pg_stat_t &stat = pg_map.pg_stat.at(pgid);
          assert(stat.acting_primary == osd);
          _try_mark_pg_stale(osdmap, pgid, stat, pending_inc);
        }
index ad356506f3119de572a88ef8a5fb7d5b5676a578..14802e7ea73bc693691bb6a27adb71afafacea97 100644 (file)
@@ -401,7 +401,7 @@ public:
    */
   static void register_new_pgs(
       const OSDMap &osd_map,
-      PGMap *pg_map,
+      const PGMap &pg_map,
       PGMap::Incremental *pending_inc);
 
   /**
@@ -409,19 +409,20 @@ public:
    */
   static void update_creating_pgs(
       const OSDMap &osd_map,
-      PGMap *pg_map,
+      const PGMap &pg_map,
       PGMap::Incremental *pending_inc);
 
   static void register_pg(
       const OSDMap &osd_map,
       pg_t pgid, epoch_t epoch,
       bool new_pool,
-      PGMap *pg_map,
+      const PGMap &pg_map,
       PGMap::Incremental *pending_inc);
 
+  // mark pg's state stale if its acting primary osd is down
   static void check_down_pgs(
       const OSDMap &osd_map,
-      const PGMap *pg_map,
+      const PGMap &pg_map,
       bool check_all,
       const set<int>& need_check_down_pg_osds,
       PGMap::Incremental *pending_inc);
index 10fa3af8114f779e0b7fedeb94dca9ffc7284b25..8d050e61eaeeacbd98a57bd7d822548bb472b2cf 100644 (file)
@@ -883,10 +883,10 @@ void PGMonitor::check_osd_map(epoch_t epoch)
   const OSDMap& osdmap = mon->osdmon()->osdmap;
   assert(pg_map.last_osdmap_epoch < epoch);
   pending_inc.osdmap_epoch = epoch;
-  PGMapUpdater::update_creating_pgs(osdmap, &pg_map, &pending_inc);
-  PGMapUpdater::register_new_pgs(osdmap, &pg_map, &pending_inc);
+  PGMapUpdater::update_creating_pgs(osdmap, pg_map, &pending_inc);
+  PGMapUpdater::register_new_pgs(osdmap, pg_map, &pending_inc);
 
-  PGMapUpdater::check_down_pgs(osdmap, &pg_map, check_all_pgs,
+  PGMapUpdater::check_down_pgs(osdmap, pg_map, check_all_pgs,
                               need_check_down_pg_osds, &pending_inc);
   check_all_pgs = false;
 
@@ -1337,7 +1337,7 @@ bool PGMonitor::prepare_command(MonOpRequestRef op)
        pgid,
        epoch,
        true,
-       &pg_map,
+       pg_map,
        &pending_inc);
     }
     ss << "pg " << pgidstr << " now creating, ok";