Skip to content

Commit

Permalink
Merge pull request #8845: hammer: osd: rados cppool omap to ec pool c…
Browse files Browse the repository at this point in the history
…rashes osd

Reviewed-by: Nathan Cutler <ncutler@suse.com>
  • Loading branch information
smithfarm committed Jun 1, 2016
2 parents 1585e9a + fb1b40f commit 037f5d2
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions src/osd/ReplicatedPG.cc
Expand Up @@ -4223,8 +4223,10 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
write_update_size_and_usage(ctx->delta_stats, oi, ctx->modified_ranges,
op.extent.offset, op.extent.length, true);
maybe_create_new_object(ctx);
if (op.extent.offset == 0 && op.extent.length == oi.size)
if (op.extent.offset == 0 && op.extent.length >= oi.size)
obs.oi.set_data_digest(osd_op.indata.crc32c(-1));
else if (op.extent.offset == oi.size && obs.oi.is_data_digest())
obs.oi.set_data_digest(osd_op.indata.crc32c(obs.oi.data_digest));
else
obs.oi.clear_data_digest();
}
Expand Down Expand Up @@ -6286,10 +6288,11 @@ void ReplicatedPG::process_copy_chunk(hobject_t oid, ceph_tid_t tid, int r)
return;
}

if (cop->omap_data.length())
if (cop->omap_data.length() || cop->omap_header.length())
cop->results.has_omap = true;

if (r >= 0 && pool.info.require_rollback() && cop->omap_data.length()) {
if (r >= 0 && pool.info.require_rollback() &&
(cop->omap_data.length() || cop->omap_header.length())) {
r = -EOPNOTSUPP;
}
cop->objecter_tid = 0;
Expand Down

0 comments on commit 037f5d2

Please sign in to comment.