From: Neha Ojha Date: Wed, 16 Mar 2022 18:37:19 +0000 (+0000) Subject: osd/PrimaryLogPG.cc: CEPH_OSD_OP_OMAPRMKEYRANGE should mark omap dirty X-Git-Tag: v18.0.0~1207^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=f7fd5895fd3d7d7c4691be91434868d90f7a4e0f;p=ceph.git osd/PrimaryLogPG.cc: CEPH_OSD_OP_OMAPRMKEYRANGE should mark omap dirty We should mark_omap_dirty() for all omap write ops, just like we did in cb927925af1f3df4b9c31df85cf31f982aae1988. Currently, for CEPH_OSD_OP_OMAPRMKEYRANGE ops, clean_omap gets set to true, which results in incomplete recovery of objects and results in inconsistent PGs after a scrub. Fixes: https://tracker.ceph.com/issues/54592 Signed-off-by: Neha Ojha --- diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index 0a0437e1eed1f..3eb957affe3c4 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -7964,6 +7964,7 @@ int PrimaryLogPG::do_osd_ops(OpContext *ctx, vector& ops) goto fail; } t->omap_rmkeyrange(soid, key_begin, key_end); + ctx->clean_regions.mark_omap_dirty(); ctx->delta_stats.num_wr++; } obs.oi.clear_omap_digest();