summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoao Eduardo Luis <joao.luis@inktank.com>2013-09-15 21:03:50 +0100
committerSage Weil <sage@inktank.com>2013-09-23 14:19:37 -0700
commit65bbcaf4b68790dae4506c1f5db237077e1ff0ae (patch)
tree44d5acf6540a2d4c194cac6dab12a19e8bf5f9f6
parent9b9edb04581cca15e67c567332529f5b3f426743 (diff)
downloadceph-65bbcaf4b68790dae4506c1f5db237077e1ff0ae.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> (cherry picked from commit 81983bab3630520d6c7ee9b7e4a747bc17b8c5c3)
-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 930d9b28520..20b16c26fa8 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;