op_ret = read_op.prepare();
if (op_ret < 0)
return op_ret;
- op_ret = read_op.range_to_ofs(obj_size, cur_ofs, cur_end);
+ op_ret = read_op.range_to_ofs(ent.meta.accounted_size, cur_ofs, cur_end);
if (op_ret < 0)
return op_ret;
bool need_decompress;
if (need_decompress)
{
- if (cs_info.orig_size != ent.meta.size) {
+ if (cs_info.orig_size != ent.meta.accounted_size) {
// hmm.. something wrong, object not as expected, abort!
ldout(s->cct, 0) << "ERROR: expected cs_info.orig_size=" << cs_info.orig_size <<
", actual read size=" << ent.meta.size << dendl;
}
for (rgw_bucket_dir_entry& ent : objs) {
- uint64_t cur_total_len = obj_ofs;
- uint64_t start_ofs = 0, end_ofs = ent.meta.size;
+ const uint64_t cur_total_len = obj_ofs;
+ const uint64_t obj_size = ent.meta.accounted_size;
+ uint64_t start_ofs = 0, end_ofs = obj_size;
- if ((ptotal_len || cb) && !found_start && cur_total_len + ent.meta.size > (uint64_t)ofs) {
+ if ((ptotal_len || cb) && !found_start && cur_total_len + obj_size > (uint64_t)ofs) {
start_ofs = ofs - obj_ofs;
found_start = true;
}
- obj_ofs += ent.meta.size;
+ obj_ofs += obj_size;
if (pobj_sum) {
etag_sum.Update((const byte *)ent.meta.etag.c_str(),
ent.meta.etag.length());
rgw_bucket_dir_entry ent;
ent.key.name = part.obj_name;
- ent.meta.size = part.size;
+ ent.meta.accounted_size = ent.meta.size = part.size;
ent.meta.etag = part.etag;
uint64_t cur_total_len = obj_ofs;