]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
JournalingFileStore: move apply/commit sequencing to apply_manager
authorSamuel Just <sam.just@inktank.com>
Sat, 6 Oct 2012 00:33:36 +0000 (17:33 -0700)
committerSamuel Just <sam.just@inktank.com>
Tue, 30 Oct 2012 20:31:09 +0000 (13:31 -0700)
commit9601b291322dff7f229ffd8d84a912a9ea94cd4d
tree9a8f94ae906ec5ddd8776a896ee60b7034b6ab39
parent1d9f5d27d6c605ab2a9e63378a8f143ae30cefd7
JournalingFileStore: move apply/commit sequencing to apply_manager

syncing the filestore requires a stable commit point (i.e., all ops
up to applied_seq must have been applied).  Previously, we used
journal_lock to atomically block new applies while waiting for
the remaining ones to finish.  This creates unnecessary contention.
We now use apply_manager to manage that state atomically with its
own lock.

Signed-off-by: Samuel Just <sam.just@inktank.com>
src/os/FileStore.cc
src/os/JournalingObjectStore.cc
src/os/JournalingObjectStore.h