From 5cd2b057f35bcf98adc4f8962c43337696175ff6 Mon Sep 17 00:00:00 2001 From: Joao Eduardo Luis Date: Fri, 24 Nov 2017 22:46:04 +0000 Subject: [PATCH] mon/OSDMonitor: allow triggering prunes from tick() Signed-off-by: Joao Eduardo Luis --- src/mon/OSDMonitor.cc | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 4e8f08d57d420..2bb8f1a878281 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -3881,6 +3881,9 @@ void OSDMonitor::tick() dout(10) << osdmap << dendl; + // always update osdmap manifest, regardless of being the leader. + load_osdmap_manifest(); + if (!mon->is_leader()) return; bool do_propose = false; @@ -3891,8 +3894,16 @@ void OSDMonitor::tick() } // mark osds down? - if (check_failures(now)) + if (check_failures(now)) { + do_propose = true; + } + + // Force a proposal if we need to prune; pruning is performed on + // ``encode_pending()``, hence why we need to regularly trigger a proposal + // even if there's nothing going on. + if (is_prune_enabled() && should_prune()) { do_propose = true; + } // mark down osds out? -- 2.39.5