]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: drop win_election() _reset() kludge and strengthen assertions
authorSage Weil <sage@inktank.com>
Sat, 13 Jul 2013 15:38:40 +0000 (08:38 -0700)
committerSage Weil <sage@inktank.com>
Mon, 15 Jul 2013 20:42:54 +0000 (13:42 -0700)
This is only there for the benefit of win_standalone_election(), but it
doesn't need it, it clutters the code, and weakens our assertions.

Now the only win_election() callers are win_standalone_election() (which
is a single path that just did _reset()) and from the elector.

Signed-off-by: Sage Weil <sage@inktank.com>
src/mon/Monitor.cc

index c801886eb452c94ab39c1ab48117f9d474193d78..b28a5c071ea2540407ed4a42e960f17b72d9be24 100644 (file)
@@ -1457,20 +1457,15 @@ epoch_t Monitor::get_epoch()
 
 void Monitor::win_election(epoch_t epoch, set<int>& active, uint64_t features) 
 {
-  if (!is_electing()) {
-    state = STATE_ELECTING;
-    _reset();
-  }
-
+  dout(10) << __func__ << " epoch " << epoch << " quorum " << active
+          << " features " << features << dendl;
+  assert(is_electing());
   state = STATE_LEADER;
   leader_since = ceph_clock_now(g_ceph_context);
   leader = rank;
   quorum = active;
   quorum_features = features;
   outside_quorum.clear();
-  dout(10) << "win_election, epoch " << epoch << " quorum is " << quorum
-          << " features are " << quorum_features
-          << dendl;
 
   clog.info() << "mon." << name << "@" << rank
                << " won leader election with quorum " << quorum << "\n";