summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoao Eduardo Luis <joao.luis@inktank.com>2013-09-15 21:03:50 +0100
committerJoao Eduardo Luis <joao.luis@inktank.com>2013-09-16 00:33:02 +0100
commit81983bab3630520d6c7ee9b7e4a747bc17b8c5c3 (patch)
treea54c8daf23b4a19ca9206a62ddf488ddf6da0594
parent4ac1570c5cdcd6556dc291cc6d7878fd92d343ae (diff)
downloadceph-81983bab3630520d6c7ee9b7e4a747bc17b8c5c3.tar.gz
mon: OSDMonitor: update latest_full while rebuilding full maps
Not doing so will make the monitor rebuild the osdmap full versions, even though they may have been rebuilt before, every time the monitor starts. This mostly happens when the cluster is left in an unhealthy state for a long period of time and incremental versions build up. Even though we build the full maps on update_from_paxos(), not updating 'full_latest' leads to the situation initially described. Fixes: #6322 Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
-rw-r--r--src/mon/OSDMonitor.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc
index 3f45a18111a..3fa53bf7d57 100644
--- a/src/mon/OSDMonitor.cc
+++ b/src/mon/OSDMonitor.cc
@@ -195,6 +195,7 @@ void OSDMonitor::update_from_paxos(bool *need_bootstrap)
bufferlist full_bl;
osdmap.encode(full_bl);
put_version_full(&t, osdmap.epoch, full_bl);
+ put_version_latest_full(&t, osdmap.epoch);
// share
dout(1) << osdmap << dendl;