]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
crimson/os/seastore: add space accounting to segment_cleaner and wire in
authorSamuel Just <sjust@redhat.com>
Thu, 27 Aug 2020 07:14:30 +0000 (00:14 -0700)
committerSamuel Just <sjust@redhat.com>
Tue, 20 Oct 2020 19:27:04 +0000 (12:27 -0700)
commitbf1912289b74a7d5d9693404e901fe5692dbfa09
tree09db444106d6a92e5568ef6fe840324a6d8687ab
parentbff80b3dc2431518f2a309f6c6e90271f38c743b
crimson/os/seastore: add space accounting to segment_cleaner and wire in

Adds support for space accounting to SegmentCleaner and wires into
Journal, Cache, and tests.

SegmentCleaner has two tracking implementations, SpaceTrackerSimple
and SpaceTrackerDetailed.  SpaceTrackerSimple simply keeps a count
of live bytes and is intended to be the normal implementation.
SpaceTrackerDetailed maintains a bitmap and is simply useful
for debugging unit tests.  It may be removed in the future.

Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/os/seastore/cache.cc
src/crimson/os/seastore/cache.h
src/crimson/os/seastore/journal.cc
src/crimson/os/seastore/journal.h
src/crimson/os/seastore/segment_cleaner.cc
src/crimson/os/seastore/segment_cleaner.h
src/crimson/os/seastore/transaction_manager.cc
src/test/crimson/seastore/test_btree_lba_manager.cc
src/test/crimson/seastore/test_seastore_journal.cc
src/test/crimson/seastore/test_transaction_manager.cc