From: John Spray Date: Mon, 16 Mar 2015 01:02:03 +0000 (+0000) Subject: mon/MDSMonitor: add "mds repaired" X-Git-Tag: v9.0.0~113^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=573d94f424f0f1a261c3429a1872853ac0f72a23;p=ceph.git mon/MDSMonitor: add "mds repaired" For clearing an MDS rank out of `damaged` Signed-off-by: John Spray --- diff --git a/src/mon/MDSMonitor.cc b/src/mon/MDSMonitor.cc index eaab48da6b2a..6c4d13c9edaa 100644 --- a/src/mon/MDSMonitor.cc +++ b/src/mon/MDSMonitor.cc @@ -1503,6 +1503,17 @@ int MDSMonitor::filesystem_command( return -EAGAIN; // don't propose yet; wait for message to be retried } + } else if (prefix == "mds repaired") { + mds_rank_t rank; + cmd_getval(g_ceph_context, cmdmap, "rank", rank); + if (pending_mdsmap.damaged.count(rank)) { + dout(4) << "repaired: restoring rank " << rank << dendl; + pending_mdsmap.damaged.erase(rank); + pending_mdsmap.failed.insert(rank); + } else { + dout(4) << "repaired: no-op on rank " << rank << dendl; + } + r = 0; } else if (prefix == "mds rm") { mds_gid_t gid; if (!cmd_getval(g_ceph_context, cmdmap, "gid", gid)) { diff --git a/src/mon/MonCommands.h b/src/mon/MonCommands.h index cdb6b68d8ce5..0bfa1fc23e89 100644 --- a/src/mon/MonCommands.h +++ b/src/mon/MonCommands.h @@ -295,6 +295,8 @@ COMMAND("mds set_state " \ "set mds state of to ", "mds", "rw", "cli,rest") COMMAND("mds fail name=who,type=CephString", \ "force mds to status failed", "mds", "rw", "cli,rest") +COMMAND("mds repaired name=rank,type=CephInt", \ + "mark a damaged MDS rank as no longer damaged", "mds", "rw", "cli,rest") COMMAND("mds rm " \ "name=gid,type=CephInt,range=0 " \ "name=who,type=CephName", \