From: Sage Weil Date: Fri, 20 Jul 2012 00:10:57 +0000 (-0700) Subject: mon: make 'osd rm ...' idempotent X-Git-Tag: v0.51~59^2~9 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6f7837a96dacbbf1d2256e497dca7eb1050314d5;p=ceph.git mon: make 'osd rm ...' idempotent Signed-off-by: Sage Weil --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 0d29e38a3243..95f047a280f6 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -2072,7 +2072,7 @@ 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[1] == "in" && m->cmd.size() >= 3) { bool any = false; @@ -2186,6 +2186,7 @@ bool OSDMonitor::prepare_command(MMonCommand *m) long osd = strtol(m->cmd[j].c_str(), 0, 10); if (!osdmap.exists(osd)) { ss << "osd." << osd << " does not exist"; + err = 0; } else if (osdmap.is_up(osd)) { ss << "osd." << osd << " is still up"; } else {