]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix uncompressed object size deduction in RGWRados::copy_obj_data. 11794/head
authorRadoslaw Zarzynski <rzarzynski@mirantis.com>
Sat, 5 Nov 2016 11:46:16 +0000 (12:46 +0100)
committerRadoslaw Zarzynski <rzarzynski@mirantis.com>
Sat, 5 Nov 2016 12:11:18 +0000 (13:11 +0100)
Fixes: http://tracker.ceph.com/issues/17803
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
src/rgw/rgw_rados.cc

index d2b733343b38a44f5fc6c4d503138b184028981c..352c87e7b7fc2cde36feb508b4fad6e044203985 100644 (file)
@@ -7624,8 +7624,7 @@ int RGWRados::copy_obj_data(RGWObjectCtx& obj_ctx,
     }
   }
 
-  // pass original size if compressed
-  uint64_t accounted_size = ofs;
+  uint64_t accounted_size;
   {
     bool compressed{false};
     RGWCompressionInfo cs_info;
@@ -7634,7 +7633,8 @@ int RGWRados::copy_obj_data(RGWObjectCtx& obj_ctx,
       ldout(cct, 0) << "ERROR: failed to read compression info" << dendl;
       return ret;
     }
-    accounted_size = cs_info.orig_size;
+    // pass original size if compressed
+    accounted_size = compressed ? cs_info.orig_size : ofs;
   }
 
   return processor.complete(accounted_size, etag, mtime, set_mtime, attrs, delete_at);