From: Radoslaw Zarzynski Date: Wed, 18 Nov 2015 19:12:37 +0000 (+0100) Subject: rgw: fix wrong ofs handling during GET on Swift's SLO. X-Git-Tag: v10.0.2~36^2~3 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=31f1b89fb6489f5bdbc2fd5cfd49c0acba7533b4;p=ceph-ci.git rgw: fix wrong ofs handling during GET on Swift's SLO. Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index beb5c0033ef..7e119aa487c 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -836,7 +836,6 @@ static int iterate_slo_parts(CephContext *cct, void *param), void *cb_param) { - uint64_t obj_ofs = 0, len_count = 0; bool found_start = false, found_end = false; string delim; vector objs; @@ -853,6 +852,8 @@ static int iterate_slo_parts(CephContext *cct, --iter; } + uint64_t obj_ofs = iter->first; + for (; iter != slo_parts.end() && !found_end; ++iter) { rgw_slo_part& part = iter->second; RGWObjEnt ent; @@ -879,8 +880,6 @@ static int iterate_slo_parts(CephContext *cct, (ceph_clock_now(cct) - start_time)); if (found_start) { - len_count += end_ofs - start_ofs; - if (cb) { int r = cb(part.bucket, ent, part.bucket_policy, start_ofs, end_ofs, cb_param); if (r < 0) @@ -990,7 +989,6 @@ int RGWGetObj::handle_slo_manifest(bufferlist& bl) map policies; map buckets; - uint64_t ofs = 0, start_ofs = 0; map slo_parts; total_len = 0;