]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix wrong ofs handling during GET on Swift's SLO.
authorRadoslaw Zarzynski <rzarzynski@mirantis.com>
Wed, 18 Nov 2015 19:12:37 +0000 (20:12 +0100)
committerRadoslaw Zarzynski <rzarzynski@mirantis.com>
Tue, 8 Dec 2015 16:58:09 +0000 (17:58 +0100)
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
src/rgw/rgw_op.cc

index beb5c0033ef97669efcc112e3ddf6979530fbbae..7e119aa487c9760d6ed3d9f834ea70a2a9daf292 100644 (file)
@@ -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<RGWObjEnt> 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<string, RGWAccessControlPolicy *> policies;
   map<string, rgw_bucket> buckets;
 
-  uint64_t ofs = 0, start_ofs = 0;
   map<uint64_t, rgw_slo_part> slo_parts;
 
   total_len = 0;