mirror of
https://github.com/ceph/ceph
synced 2025-02-22 02:27:29 +00:00
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 <sage@redhat.com>
This commit is contained in:
parent
d5b3bd76dd
commit
68719f5838
@ -5070,8 +5070,6 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
|
||||
{
|
||||
if (maybe_create_new_object(ctx)) {
|
||||
t->touch(soid);
|
||||
} else {
|
||||
obs.oi.clear_omap_digest();
|
||||
}
|
||||
map<string, bufferlist> to_set;
|
||||
try {
|
||||
@ -5093,6 +5091,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& 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<OSDOp>& 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:
|
||||
|
Loading…
Reference in New Issue
Block a user