]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: refuse "mon remove" if only one mon left 108/head
authorDan Mick <dan.mick@inktank.com>
Thu, 14 Mar 2013 18:02:12 +0000 (11:02 -0700)
committerDan Mick <dan.mick@inktank.com>
Thu, 14 Mar 2013 18:02:12 +0000 (11:02 -0700)
Fixes: #4439
Signed-off-by: Dan Mick <dan.mick@inktank.com>
src/mon/MonmapMonitor.cc

index 1a86a0199ae270b60913496e81f2ef103374ea37..13b50f82682ef1c7f166b28c78ea4497358c8ba1 100644 (file)
@@ -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);