From 0f0493a1910b4ee9931fd86923d53b1ff24c2b5d 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 (cherry picked from commit f7fd5895fd3d7d7c4691be91434868d90f7a4e0f) --- src/osd/PrimaryLogPG.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index 765c34b724b8a..7a7fdca66c2c1 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -7667,6 +7667,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(); -- 2.39.5