From 4390c08acd17b8417d89c10ee40cf093a121c861 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 18 Apr 2012 17:14:09 -0700 Subject: [PATCH] mon: fix full/nearfull ratio initialization create_pending() is called before create_initial(), so just put these in the first incremental. Signed-off-by: Sage Weil --- src/mon/PGMonitor.cc | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/mon/PGMonitor.cc b/src/mon/PGMonitor.cc index 08fdf2535358f..e65e6825c6d80 100644 --- a/src/mon/PGMonitor.cc +++ b/src/mon/PGMonitor.cc @@ -136,12 +136,6 @@ void PGMonitor::tick() void PGMonitor::create_initial() { dout(10) << "create_initial -- creating initial map" << dendl; - pg_map.full_ratio = g_conf->mon_osd_full_ratio; - if (pg_map.full_ratio > 1.0) - pg_map.full_ratio /= 100.0; - pg_map.nearfull_ratio = g_conf->mon_osd_nearfull_ratio; - if (pg_map.nearfull_ratio > 1.0) - pg_map.nearfull_ratio /= 100.0; } void PGMonitor::update_from_paxos() @@ -242,8 +236,18 @@ void PGMonitor::create_pending() { pending_inc = PGMap::Incremental(); pending_inc.version = pg_map.version + 1; - pending_inc.full_ratio = pg_map.full_ratio; - pending_inc.nearfull_ratio = pg_map.nearfull_ratio; + if (pg_map.version == 0) { + // pull initial values from first leader mon's config + pending_inc.full_ratio = g_conf->mon_osd_full_ratio; + if (pending_inc.full_ratio > 1.0) + pending_inc.full_ratio /= 100.0; + pending_inc.nearfull_ratio = g_conf->mon_osd_nearfull_ratio; + if (pending_inc.nearfull_ratio > 1.0) + pending_inc.nearfull_ratio /= 100.0; + } else { + pending_inc.full_ratio = pg_map.full_ratio; + pending_inc.nearfull_ratio = pg_map.nearfull_ratio; + } dout(10) << "create_pending v " << pending_inc.version << dendl; } -- 2.39.5