]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
DBObjectMap: lock header_lock on sync() 3789/head
authorSamuel Just <sjust@redhat.com>
Fri, 20 Feb 2015 21:43:46 +0000 (13:43 -0800)
committerSamuel Just <sjust@redhat.com>
Mon, 23 Feb 2015 15:11:25 +0000 (07:11 -0800)
commit2b63dd25fc1c73fa42e52e9ea4ab5a45dd9422a0
treed22b2e907a60e29757469bf86cbd1aafa2e95d4d
parentf85f7adc95a1735ef1c1624f37318d46cf36a4f9
DBObjectMap: lock header_lock on sync()

Otherwise, we can race with another thread updating state.seq
resulting in the old, smaller value getting persisted.  If there
is a crash at that time, we will reuse a sequence number, resulting
in an inconsistent node tree and bug #9891.

Fixes: 9891
Backport: giant, firefly, dumpling
Signed-off-by: Samuel Just <sjust@redhat.com>
src/os/DBObjectMap.cc