]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: OSDMonitor: update latest_full while rebuilding full maps
authorJoao Eduardo Luis <joao.luis@inktank.com>
Sun, 15 Sep 2013 20:03:50 +0000 (21:03 +0100)
committerSage Weil <sage@inktank.com>
Mon, 23 Sep 2013 21:19:37 +0000 (14:19 -0700)
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)

src/mon/OSDMonitor.cc

index 930d9b285200dc4f11e28d5088cb0d25973faedd..20b16c26fa84179a1ae750112884fa25cced79d6 100644 (file)
@@ -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;