From cc8bb0885e76ed9889a8b1ae8619f2afa4b87df5 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 4 Dec 2008 16:32:53 -0800 Subject: [PATCH] mon: 'osd scrub \*' to scrub all osds --- src/mon/OSDMonitor.cc | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 950075687fd..050bc86c4a6 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -911,14 +911,27 @@ bool OSDMonitor::preprocess_command(MMonCommand *m) } } else if (m->cmd[1] == "scrub" && m->cmd.size() > 2) { - long osd = strtol(m->cmd[2].c_str(), 0, 10); - if (osdmap.is_up(osd)) { - mon->messenger->send_message(new MOSDScrub(osdmap.get_fsid()), - osdmap.get_inst(osd)); + if (m->cmd[2] == "*") { + ss << "osds "; + int c = 0; + for (int i=0; imessenger->send_message(new MOSDScrub(osdmap.get_fsid()), + osdmap.get_inst(i)); + } r = 0; - ss << "osd" << osd << " instructed to scrub"; - } else - ss << "osd" << osd << " is not up"; + ss << " instructed to scrub"; + } else { + long osd = strtol(m->cmd[2].c_str(), 0, 10); + if (osdmap.is_up(osd)) { + mon->messenger->send_message(new MOSDScrub(osdmap.get_fsid()), + osdmap.get_inst(osd)); + r = 0; + ss << "osd" << osd << " instructed to scrub"; + } else + ss << "osd" << osd << " is not up"; + } } } -- 2.47.3