From: Joao Eduardo Luis Date: Fri, 24 Nov 2017 22:46:04 +0000 (+0000) Subject: mon/OSDMonitor: allow triggering prunes from tick() X-Git-Tag: v13.1.0~393^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5cd2b057f35bcf98adc4f8962c43337696175ff6;p=ceph.git mon/OSDMonitor: allow triggering prunes from tick() Signed-off-by: Joao Eduardo Luis --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 4e8f08d57d42..2bb8f1a87828 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?