]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mon: OSDMonitor: do not write full_latest during trim
authorJoao Eduardo Luis <joao.luis@inktank.com>
Wed, 25 Sep 2013 21:08:24 +0000 (22:08 +0100)
committerSage Weil <sage@inktank.com>
Thu, 26 Sep 2013 17:27:46 +0000 (10:27 -0700)
commitbd0f29a2c28cca496ec830eac932477ebf3182ba
tree175de2f77b8207420abcc070d1a9aecedc2bc9ed
parent1d67aeba729013638ad1d853ab6f23f6e1f6bb26
mon: OSDMonitor: do not write full_latest during trim

On commit 81983bab we patched OSDMonitor::update_from_paxos() such that we
write the latest full map version to 'full_latest' each time the latest
full map was built from the incremental versions.

This change however clashed with OSDMonitor::encode_trim_extra(), which
also wrote to 'full_latest' on each trim, writing instead the version of
the *oldest* full map.  This duality of behaviors could lead the store
to an inconsistent state across the monitors (although there's no sign of
it actually imposing any issues besides rebuilding already existing full
maps on some monitors).

We now stop OSDMonitor::encode_trim_extra() from writing to 'full_latest'.
This function will still write out the oldest full map it has in the store,
but it will no longer write to full_latest, instead leaving it up to
OSDMonitor::update_from_paxos() to figure it out -- and it already does.

Fixes: #6378
Backport: dumpling

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
src/mon/OSDMonitor.cc