]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: Monitor: complex code deduplication algorithm applied to tick()
authorJoao Eduardo Luis <joao.luis@inktank.com>
Tue, 17 Jun 2014 16:27:55 +0000 (17:27 +0100)
committerJoao Eduardo Luis <joao.luis@inktank.com>
Tue, 17 Jun 2014 16:27:55 +0000 (17:27 +0100)
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
src/mon/Monitor.cc

index ca55a93e3513a54a6ae547010d55c979b47feefc..ed1d595b9272914f2956d6ccbd669fd7af8983a5 100644 (file)
@@ -3837,15 +3837,16 @@ void Monitor::tick()
     if (!s->until.is_zero() && s->until < now) {
       dout(10) << " trimming session " << s->con << " " << s->inst
               << " (until " << s->until << " < now " << now << ")" << dendl;
-      messenger->mark_down(s->con);
-      remove_session(s);
     } else if (out_for_too_long) {
       // boot the client Session because we've taken too long getting back in
       dout(10) << " trimming session " << s->con << " " << s->inst
         << " because we've been out of quorum too long" << dendl;
-      messenger->mark_down(s->con);
-      remove_session(s);
+    } else {
+      continue;
     }
+
+    messenger->mark_down(s->con);
+    remove_session(s);
   }
 
   sync_trim_providers();