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>
This commit is contained in:
Joao Eduardo Luis 2013-09-15 21:03:50 +01:00
parent 4ac1570c5c
commit 81983bab36

View 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;