From 3805fa43cc8ba1d491ca3bab24c5ca8d6763c3dd Mon Sep 17 00:00:00 2001 From: Neha Ojha Date: Wed, 16 Mar 2022 18:37:19 +0000 Subject: [PATCH] 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 --- src/osd/PrimaryLogPG.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index 2515e64c93b95..043d1695f3960 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -7979,6 +7979,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();