]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PrimaryLogPG.cc: CEPH_OSD_OP_OMAPRMKEYRANGE should mark omap dirty 45466/head
authorNeha Ojha <nojha@redhat.com>
Wed, 16 Mar 2022 18:37:19 +0000 (18:37 +0000)
committerNeha Ojha <nojha@redhat.com>
Wed, 16 Mar 2022 18:57:24 +0000 (18:57 +0000)
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 <nojha@redhat.com>
src/osd/PrimaryLogPG.cc

index 0a0437e1eed1f27912b48c9aea5dde063a297436..3eb957affe3c4356391683db5e5217a21ee6f761 100644 (file)
@@ -7964,6 +7964,7 @@ int PrimaryLogPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& 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();