From: Dan Mick Date: Thu, 14 Mar 2013 18:02:12 +0000 (-0700) Subject: mon: refuse "mon remove" if only one mon left X-Git-Tag: v0.60~75^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F108%2Fhead;p=ceph.git mon: refuse "mon remove" if only one mon left Fixes: #4439 Signed-off-by: Dan Mick --- diff --git a/src/mon/MonmapMonitor.cc b/src/mon/MonmapMonitor.cc index 1a86a0199ae2..13b50f82682e 100644 --- a/src/mon/MonmapMonitor.cc +++ b/src/mon/MonmapMonitor.cc @@ -404,6 +404,11 @@ bool MonmapMonitor::prepare_command(MMonCommand *m) goto out; } + if (pending_map.size() == 1) { + err = -EINVAL; + ss << "error: refusing removal of last monitor " << name; + goto out; + } entity_addr_t addr = pending_map.get_addr(name); pending_map.remove(name); pending_map.last_changed = ceph_clock_now(g_ceph_context);