]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/OSDMonitor: don't create pgs if pool was deleted 17634/head
authorJoao Eduardo Luis <joao@suse.de>
Fri, 8 Sep 2017 11:48:12 +0000 (12:48 +0100)
committerNathan Cutler <ncutler@suse.com>
Mon, 11 Sep 2017 09:38:54 +0000 (11:38 +0200)
A pool may be deleted while in the process of creating pgs. If that
happens, we should not queue additional pgs from that pool to be
created.

Fixes: http://tracker.ceph.com/issues/21309
Signed-off-by: Joao Eduardo Luis <joao@suse.de>
(cherry picked from commit 7a8a88032ec0bf7f1b485419a11646d7441faf2c)

src/mon/CreatingPGs.h

index 4ba91575f3cc0d25317dc04b8100963f7974fbfa..49935108c442fdd02b4a805c28e494b2a07cdd78 100644 (file)
@@ -60,6 +60,7 @@ struct creating_pgs_t {
     auto last = pgs.lower_bound(pg_t{0, (uint64_t)removed_pool + 1});
     pgs.erase(first, last);
     created_pools.erase(removed_pool);
+    queue.erase(removed_pool);
     return total - pgs.size();
   }
   void encode(bufferlist& bl) const {