]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore: reimplement zone backrefs
authorSage Weil <sage@newdream.net>
Tue, 7 Sep 2021 16:34:23 +0000 (11:34 -0500)
committerSage Weil <sage@newdream.net>
Fri, 29 Oct 2021 13:55:57 +0000 (09:55 -0400)
commit22b06298f1d6ff9f1a7e59fb7766167f23ad379e
tree668037a0bdf1e29baca5a0d2430af0bcdb8a2e71
parent9c5d4349aae8bef3c87955dfb6af03ea923655c0
os/bluestore: reimplement zone backrefs

Implement a (zone, offset) -> oid reference.  The offset is the first
offset referenced by this object in this zone; subsequent extents in the
same zone will not generate additional refs.  The ref will be removed only
when *all* refs for that object to that zone are gone.

- minimal metadata per zone (one ref to each object involved
- (zone, offset) keys are ordered for efficient sequential cleaning

Signed-off-by: Sage Weil <sage@newdream.net>
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h
src/os/bluestore/bluestore_types.h