]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
doc/dev/crimson/seastore_laddr.rst: add descriptions about temp
authorXuehan Xu <xuxuehan@qianxin.com>
Sun, 10 May 2026 07:36:22 +0000 (15:36 +0800)
committerXuehan Xu <xuxuehan@qianxin.com>
Thu, 21 May 2026 07:33:35 +0000 (15:33 +0800)
recovering objects

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
doc/dev/crimson/seastore_laddr.rst

index 80f1c9ef012f719be6ca53e15ae61ed8642f2aa1..dfcc7f84e32f48af8d111d0815790313863ca970 100644 (file)
@@ -198,6 +198,23 @@ transition addresses from the old layout to the new layout.
 
 TODO: Implement fsck process to support layout upgrades.
 
+Multi-push Recovery
+-------------------
+
+If an object's recovery/backfill needs multiple pushes, we need to create
+a temp-recovering object for it. Since the temp-recovering object may do
+clone_range and share some of its range with the object that's being re-
+covered and indirect mappings' keys should share their prefixes with their
+direct counterparts, we mandate that the temp-recovering object must have
+the same object prefixes, except for the ``pool`` fields, with the objects
+they are recovering.
+
+This is done with the newly added ``ceph::os::Transaction::OP_TOUCH_TEMP``,
+which create a temp object with the same object prefix as the passed target
+object.
+
+The ``pool`` field of the created temp object is still the id of the temp pool.
+
 Summary
 -------