diff --git a/src/mon/PaxosService.cc b/src/mon/PaxosService.cc index 9330c56e7af..dca64360348 100644 --- a/src/mon/PaxosService.cc +++ b/src/mon/PaxosService.cc @@ -326,6 +326,20 @@ void PaxosService::shutdown() finish_contexts(g_ceph_context, waiting_for_finished_proposal, -EAGAIN); } +bool PaxosService::should_trim() +{ + if (!service_should_trim()) + return false; + + if (g_conf->paxos_service_trim_min > 0) { + version_t trim_to = get_trim_to(); + version_t first = get_first_committed(); + if ((trim_to > 0) && trim_to > first) + return ((trim_to - first) >= (version_t)g_conf->paxos_service_trim_min); + } + return true; +} + void PaxosService::trim(MonitorDBStore::Transaction *t, version_t from, version_t to) { diff --git a/src/mon/PaxosService.h b/src/mon/PaxosService.h index 3e5c69fb22f..18d95307ef4 100644 --- a/src/mon/PaxosService.h +++ b/src/mon/PaxosService.h @@ -682,23 +682,10 @@ public: virtual void encode_trim_extra(MonitorDBStore::Transaction *tx, version_t first) {} /** - * + * decide whether we should trim service states */ - virtual bool should_trim() { - bool want_trim = service_should_trim(); + bool should_trim(); - if (!want_trim) - return false; - - if (g_conf->paxos_service_trim_min > 0) { - version_t trim_to = get_trim_to(); - version_t first = get_first_committed(); - - if ((trim_to > 0) && trim_to > first) - return ((trim_to - first) >= (version_t)g_conf->paxos_service_trim_min); - } - return true; - } /** * Check if we should trim. *