]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
os/bluestore: Track per zone metadata
authorAbutalib Aghayev <agayev@cs.cmu.edu>
Tue, 30 Jun 2020 20:33:15 +0000 (16:33 -0400)
committerAbutalib Aghayev <agayev@cs.cmu.edu>
Thu, 30 Jul 2020 15:02:48 +0000 (11:02 -0400)
commiteaa1731026a5fed2b543914aed89f07258c7976a
tree769228528e201f4dc3c48ea4460213b27d01a48d
parent1ac5c74502da6dc8ad965625df452eb42a846489
os/bluestore: Track per zone metadata

For every object we maintain <zone_num+oid, offset> tuple in the key-value
store.  When a new object written to a zone, we insert the corresponding tuple
to the database.  When an object is truncated, we remove the corresponding
tuple.  When an object is overwritten, we remove the old tuple and insert a new
tuple corresponding to the new location of the object.  The cleaner can now
identify live objects within the zone <zone_num> by enumerating all the keys
starting with <zone_num> prefix.

Signed-off-by: Abutalib Aghayev <agayev@cs.cmu.edu>
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h