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);
- logger->inc(l_mon_session_trim);
- } else if (!exited_quorum.is_zero()) {
- if (now > (exited_quorum + 2 * g_conf->mon_lease)) {
- // 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);
- logger->inc(l_mon_session_trim);
- 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;
+ } else {
+ continue;
}
+
+ messenger->mark_down(s->con);
+ remove_session(s);
++ logger->inc(l_mon_session_trim);
}
sync_trim_providers();