From: Sage Weil Date: Tue, 4 Jun 2019 19:23:16 +0000 (-0500) Subject: osd/SnapMapper: document stored keys and values X-Git-Tag: v15.1.0~2308^2~37 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=e8a359814cf533bbb4064b1bd27d40c6d7bff629;p=ceph-ci.git osd/SnapMapper: document stored keys and values Signed-off-by: Sage Weil --- diff --git a/src/osd/SnapMapper.cc b/src/osd/SnapMapper.cc index 4c82d5a3b37..1510c5f9a42 100644 --- a/src/osd/SnapMapper.cc +++ b/src/osd/SnapMapper.cc @@ -24,6 +24,29 @@ using std::string; const string SnapMapper::MAPPING_PREFIX = "MAP_"; const string SnapMapper::OBJECT_PREFIX = "OBJ_"; +/* + + We have a bidirectional mapping, (1) from each snap+obj to object, + sorted by snapshot, such that we can enumerate to identify all clones + mapped to a particular snapshot, and (2) from object to snaps, so we + can identify which reverse mappings exist for any given object (and, + e.g., clean up on deletion). + + "MAP_" + + ("%016x" % snapid) + + "_" + + (".%x" % shard_id) + + "_" + + hobject_t::to_str() ("%llx.%8x.%lx.name...." % pool, hash, snap) + -> SnapMapping::Mapping { snap, hoid } + + "OBJ_" + + + (".%x" % shard_id) + + hobject_t::to_str() + -> SnapMapper::object_snaps { oid, set } + + */ + int OSDriver::get_keys( const std::set &keys, std::map *out)