From 24a0c2b94257d379dafb1ed148b91820798197ce Mon Sep 17 00:00:00 2001 From: Aishwarya Mathuria Date: Thu, 21 Aug 2025 05:19:43 +0000 Subject: [PATCH] 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 --- src/crimson/osd/osd_operations/pg_advance_map.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/crimson/osd/osd_operations/pg_advance_map.cc b/src/crimson/osd/osd_operations/pg_advance_map.cc index c3ea5560a6754..e5a7dcd8f9d4e 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); -- 2.39.5