From: Aishwarya Mathuria Date: Thu, 21 Aug 2025 05:19:43 +0000 (+0000) Subject: crimson/osd: add snapmapper for split PGs X-Git-Tag: testing/wip-vshankar-testing-20250825.134853-debug~11^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=24a0c2b94257d379dafb1ed148b91820798197ce;p=ceph-ci.git crimson/osd: add snapmapper for split PGs make_snapmapper_oid was missing for the new PGs created post-splitting. This was causing a scrub error due to the missing snap mapper object in the children PGs. Fixes: https://tracker.ceph.com/issues/72661 Signed-off-by: Aishwarya Mathuria --- diff --git a/src/crimson/osd/osd_operations/pg_advance_map.cc b/src/crimson/osd/osd_operations/pg_advance_map.cc index c3ea5560a67..e5a7dcd8f9d 100644 --- a/src/crimson/osd/osd_operations/pg_advance_map.cc +++ b/src/crimson/osd/osd_operations/pg_advance_map.cc @@ -185,6 +185,9 @@ seastar::future<> PGAdvanceMap::split_pg( DEBUG(" {} split collection done", child_pg->get_pgid()); // Update the child PG's info from the parent PG pg->split_into(child_pg->get_pgid().pgid, child_pg, split_bits); + // Make SnapMapper OID for the child PG + auto child_coll_ref = child_pg->get_collection_ref(); + rctx.transaction.touch(child_coll_ref->get_cid(), child_pg->get_pgid().make_snapmapper_oid()); co_await handle_split_pg_creation(child_pg, next_map); split_pgs.insert(child_pg);