]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/OSDMonitor: move pool created check into caller
authorSage Weil <sage@redhat.com>
Sun, 15 Apr 2018 21:15:40 +0000 (16:15 -0500)
committerSage Weil <sage@redhat.com>
Fri, 7 Sep 2018 17:08:40 +0000 (12:08 -0500)
This makes for less confusing debug output.  Speaking from experience.

Signed-off-by: Sage Weil <sage@redhat.com>
src/mon/CreatingPGs.h
src/mon/OSDMonitor.cc

index 51bc9902c5cf4409c0623b669f82ed9b5ee35a1e..396ccf1cac53d5f24413ed4ab13d363723c2b996 100644 (file)
@@ -58,18 +58,14 @@ struct creating_pgs_t {
     }
     return false;
   }
-  bool create_pool(int64_t poolid, uint32_t pg_num,
+  void create_pool(int64_t poolid, uint32_t pg_num,
                   epoch_t created, utime_t modified) {
-    if (created_pools.count(poolid) == 0) {
-      auto& c = queue[poolid];
-      c.created = created;
-      c.modified = modified;
-      c.end = pg_num;
-      created_pools.insert(poolid);
-      return true;
-    } else {
-      return false;
-    }
+    ceph_assert(created_pools.count(poolid) == 0);
+    auto& c = queue[poolid];
+    c.created = created;
+    c.modified = modified;
+    c.end = pg_num;
+    created_pools.insert(poolid);
   }
   unsigned remove_pool(int64_t removed_pool) {
     const unsigned total = pgs.size();
index 6773a79203dacac83c9da737f94304939766c9ec..92618e235b2e891145bf72c70363ee2fb3e9fe99 100644 (file)
@@ -4083,6 +4083,10 @@ unsigned OSDMonitor::scan_for_creating_pgs(
   unsigned queued = 0;
   for (auto& p : pools) {
     int64_t poolid = p.first;
+    if (creating_pgs->created_pools.count(poolid)) {
+      dout(10) << __func__ << " already created " << poolid << dendl;
+      continue;
+    }
     const pg_pool_t& pool = p.second;
     int ruleno = osdmap.crush->find_rule(pool.get_crush_rule(),
                                         pool.get_type(), pool.get_size());
@@ -4103,10 +4107,9 @@ unsigned OSDMonitor::scan_for_creating_pgs(
     }
     dout(10) << __func__ << " queueing pool create for " << poolid
             << " " << pool << dendl;
-    if (creating_pgs->create_pool(poolid, pool.get_pg_num(),
-                                 created, modified)) {
-      queued++;
-    }
+    creating_pgs->create_pool(poolid, pool.get_pg_num(),
+                             created, modified);
+    queued++;
   }
   return queued;
 }