From: Radoslaw Zarzynski Date: Sat, 5 Nov 2016 11:46:16 +0000 (+0100) Subject: rgw: fix uncompressed object size deduction in RGWRados::copy_obj_data. X-Git-Tag: v11.1.0~390^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5007dbbb1ce2b5d952cdb8eb46a747de94095131;p=ceph.git rgw: fix uncompressed object size deduction in RGWRados::copy_obj_data. Fixes: http://tracker.ceph.com/issues/17803 Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index d2b733343b38..352c87e7b7fc 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -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);