]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: remove pg from deleted pools from pg_map
authorSage Weil <sage@newdream.net>
Mon, 25 Oct 2010 23:44:10 +0000 (16:44 -0700)
committerSage Weil <sage@newdream.net>
Mon, 25 Oct 2010 23:44:22 +0000 (16:44 -0700)
Signed-off-by: Sage Weil <sage@newdream.net>
src/mon/PGMonitor.cc

index 1286fbea3eb709f72eb18301bc103cb3c1494796..c793b7267b04f487c3e78027e8c4411e5e6591f3 100644 (file)
@@ -575,7 +575,18 @@ bool PGMonitor::register_new_pgs()
       pending_inc.pg_remove.insert(*p);
       removed++;
     }
-    if (NULL == mon->osdmon()->osdmap.get_pg_pool(p->pool())) {
+    if (!osdmap->have_pg_pool(p->pool())) {
+      dout(20) << " removing creating_pg " << *p << " because containing pool deleted" << dendl;
+      pending_inc.pg_remove.insert(*p);
+      ++removed;
+    }
+  }
+
+  // deleted pools?
+  for (set<pg_t>::iterator p = pg_map.pg_set.begin();
+       p != pg_map.pg_set.end();
+       p++) {
+    if (!osdmap->have_pg_pool(p->pool())) {
       dout(20) << " removing creating_pg " << *p << " because containing pool deleted" << dendl;
       pending_inc.pg_remove.insert(*p);
       ++removed;