]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: can now delete pools via 'ceph osd pool delete foo'
authorGreg Farnum <gregf@hq.newdream.net>
Tue, 16 Feb 2010 17:22:32 +0000 (09:22 -0800)
committerGreg Farnum <gregf@hq.newdream.net>
Tue, 16 Feb 2010 22:34:44 +0000 (14:34 -0800)
src/mon/OSDMonitor.cc

index 49af33a42d2873ab182d66a50bbcdbc65459e36f..7294670b2f26ac49015127e664ccd2a6fe9ffbeb 100644 (file)
@@ -1205,6 +1205,19 @@ bool OSDMonitor::prepare_command(MMonCommand *m)
        getline(ss, rs);
        paxos->wait_for_commit(new Monitor::C_Command(mon, m, 0, rs, paxos->get_version()));
        return true;
+      } else if (m->cmd[2] == "delete" && m->cmd.size() >= 4) {
+       //hey, let's delete a pool!
+       int pool = osdmap.lookup_pg_pool_name(m->cmd[3].c_str());
+       if (pool < 0) {
+         ss << "unrecognized pool '" << m->cmd[3] << "'";
+         err = -ENOENT;
+       } else {
+         pending_inc.old_pools.insert(pool);
+         ss << "pool '" << m->cmd[3] << "' deleted";
+         getline(ss, rs);
+         paxos->wait_for_commit(new Monitor::C_Command(mon, m, 0, rs, paxos->get_version()));
+         return true;
+       }
       } else if (m->cmd[2] == "set") {
        int pool = osdmap.lookup_pg_pool_name(m->cmd[3].c_str());
        if (pool < 0) {