]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/ReplicatedPG: set truncate_seq when handling CEPH_OSD_OP_APPEND
authorYan, Zheng <zheng.z.yan@intel.com>
Tue, 11 Sep 2012 03:15:26 +0000 (11:15 +0800)
committerSage Weil <sage@inktank.com>
Wed, 12 Sep 2012 21:13:08 +0000 (14:13 -0700)
We need set truncate_seq when redirect the newop to CEPH_OSD_OP_WRITE,
otherwise the code handles CEPH_OSD_OP_WRITE may quietly drop the data.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Signed-off-by: Sage Weil <sage@inktank.com>
src/osd/ReplicatedPG.cc

index 76ac23920ca4381af1de843722b934295928edcf..cfbfe2443823dc9b3089619430c498079284e4ed 100644 (file)
@@ -2310,6 +2310,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
        newop.op.op = CEPH_OSD_OP_WRITE;
        newop.op.extent.offset = oi.size;
        newop.op.extent.length = op.extent.length;
+       newop.op.extent.truncate_seq = oi.truncate_seq;
         newop.indata = osd_op.indata;
        do_osd_ops(ctx, nops);
        osd_op.outdata.claim(newop.outdata);