From c555ee34f3b9f1ac68e8f759ce0aaea6fd4f439b Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Tue, 16 Feb 2010 09:22:32 -0800 Subject: [PATCH] mon: can now delete pools via 'ceph osd pool delete foo' --- src/mon/OSDMonitor.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 49af33a42d287..7294670b2f26a 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -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) { -- 2.39.5