From: Xuehan Xu Date: Sun, 10 May 2026 07:36:22 +0000 (+0800) Subject: doc/dev/crimson/seastore_laddr.rst: add descriptions about temp X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b42b02e15ff2e4af81bb9de3389831b0a2850eaa;p=ceph-ci.git doc/dev/crimson/seastore_laddr.rst: add descriptions about temp recovering objects Signed-off-by: Xuehan Xu --- diff --git a/doc/dev/crimson/seastore_laddr.rst b/doc/dev/crimson/seastore_laddr.rst index 80f1c9ef012..dfcc7f84e32 100644 --- a/doc/dev/crimson/seastore_laddr.rst +++ b/doc/dev/crimson/seastore_laddr.rst @@ -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 -------