summaryrefslogtreecommitdiff
path: root/src/osd/ReplicatedPG.cc
diff options
context:
space:
mode:
authorYan, Zheng <zheng.z.yan@intel.com>2012-09-11 11:15:26 +0800
committerSage Weil <sage@inktank.com>2012-09-12 14:13:08 -0700
commite89cab6b6c5b8f6c1ba57f0655922c6df5e79167 (patch)
tree16b7c1bc0778efe2778ce107ec9d4bd0580d054d /src/osd/ReplicatedPG.cc
parentc73c440e29b376602ee78c6ddc4a098183170b2d (diff)
downloadceph-e89cab6b6c5b8f6c1ba57f0655922c6df5e79167.tar.gz
osd/ReplicatedPG: set truncate_seq when handling CEPH_OSD_OP_APPEND
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>
Diffstat (limited to 'src/osd/ReplicatedPG.cc')
-rw-r--r--src/osd/ReplicatedPG.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc
index 76ac23920ca..cfbfe244382 100644
--- a/src/osd/ReplicatedPG.cc
+++ b/src/osd/ReplicatedPG.cc
@@ -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);