From 68719f583895b82a9d03cf1792d4303e0a276bf8 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 20 Mar 2015 17:16:26 -0700 Subject: [PATCH] osd: fix omap digest clearing for omap write ops 1. setvals clears the digest, even for a new object, since we aren't doing anything clever with the digest for the provided keys (yet). 2. setheader clears the digest, always, since we aren't doing anything clever. Backport: hammer Signed-off-by: Sage Weil --- src/osd/ReplicatedPG.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 15e1a856e245..9e7a6d0d0b13 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -5070,8 +5070,6 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector& ops) { if (maybe_create_new_object(ctx)) { t->touch(soid); - } else { - obs.oi.clear_omap_digest(); } map to_set; try { @@ -5093,6 +5091,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector& ops) ctx->delta_stats.num_wr++; } obs.oi.set_flag(object_info_t::FLAG_OMAP); + obs.oi.clear_omap_digest(); break; case CEPH_OSD_OP_OMAPSETHEADER: @@ -5113,6 +5112,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector& ops) ctx->delta_stats.num_wr++; } obs.oi.set_flag(object_info_t::FLAG_OMAP); + obs.oi.clear_omap_digest(); break; case CEPH_OSD_OP_OMAPCLEAR: -- 2.47.3