]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/osd: add snapmapper for split PGs
authorAishwarya Mathuria <amathuri@redhat.com>
Thu, 21 Aug 2025 05:19:43 +0000 (05:19 +0000)
committerAishwarya Mathuria <amathuri@redhat.com>
Thu, 21 Aug 2025 13:58:27 +0000 (13:58 +0000)
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 <amathuri@redhat.com>
src/crimson/osd/osd_operations/pg_advance_map.cc

index c3ea5560a6754bf6646710c207678884a277719e..e5a7dcd8f9d4e83fc9f09ce2bbb42e8906c15849 100644 (file)
@@ -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);