]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/PGMap: return empty stats if pool is not in sum 1375/head
authorSage Weil <sage@inktank.com>
Wed, 5 Mar 2014 18:44:41 +0000 (10:44 -0800)
committerSage Weil <sage@inktank.com>
Wed, 5 Mar 2014 18:44:41 +0000 (10:44 -0800)
Greg was right!

When a pool is created, the PGs are not added to the PGMap until the *next*
proposal.  Weaken the assert here and return empty stats for non-existent
(new) pools so that a pool create + tier add sequence does not crash.

Signed-off-by: Sage Weil <sage@inktank.com>
src/mon/PGMap.h

index 65eccd35cbdec4ea7ca61be8ebb0b486afd341be..d76b90d355a093d437bdda9e6acbee2b6ef4cb65 100644 (file)
@@ -205,10 +205,11 @@ public:
     stamp = s;
   }
 
-  const pool_stat_t& get_pg_pool_sum_stat(int64_t pool) {
+  pool_stat_t get_pg_pool_sum_stat(int64_t pool) {
     ceph::unordered_map<int,pool_stat_t>::iterator p = pg_pool_sum.find(pool);
-    assert(p != pg_pool_sum.end());
-    return p->second;
+    if (p != pg_pool_sum.end())
+      return p->second;
+    return pool_stat_t();
   }
 
   void update_pg(pg_t pgid, bufferlist& bl);