From: Samuel Just Date: Wed, 15 Jan 2014 17:21:57 +0000 (-0800) Subject: ReplicatedPG: use append for write and writefull X-Git-Tag: v0.78~286^2~11 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9fd7a80088b2cbcec45fb703cd8d909e485c9bcc;p=ceph.git ReplicatedPG: use append for write and writefull Signed-off-by: Samuel Just --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 2e2a36e0e2ad..4d81303dd908 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -3518,7 +3518,11 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector& ops) result = check_offset_and_length(op.extent.offset, op.extent.length, cct->_conf->osd_max_object_size); if (result < 0) break; - t->write(soid, op.extent.offset, op.extent.length, osd_op.indata); + if (pool.info.ec_pool()) { + t->append(soid, op.extent.offset, op.extent.length, osd_op.indata); + } else { + t->write(soid, op.extent.offset, op.extent.length, osd_op.indata); + } write_update_size_and_usage(ctx->delta_stats, oi, ssc->snapset, ctx->modified_ranges, op.extent.offset, op.extent.length, true); if (!obs.exists) { @@ -3548,7 +3552,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector& ops) } } ctx->mod_desc.create(); - t->write(soid, op.extent.offset, op.extent.length, osd_op.indata); + t->append(soid, op.extent.offset, op.extent.length, osd_op.indata); if (obs.exists) { t->setattrs(soid, ctx->obc->attr_cache); }