From 23573e2f7bf3b15e8e07d134676feb08185de5b8 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Tue, 24 Oct 2023 16:45:47 -0400 Subject: [PATCH] rgw: rename 'expected' to 'accounted' size in fetch_remote_obj() and use it instead of cb.get_data_len() after testing for equality Signed-off-by: Casey Bodley (cherry picked from commit 999d539f76bdb4baa0b8342fff74a9e3fd1cdc12) Conflicts: src/rgw/driver/rados/rgw_rados.cc no req_context --- src/rgw/driver/rados/rgw_rados.cc | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/rgw/driver/rados/rgw_rados.cc b/src/rgw/driver/rados/rgw_rados.cc index 03a81f03d6207..f6c834c69e2c1 100644 --- a/src/rgw/driver/rados/rgw_rados.cc +++ b/src/rgw/driver/rados/rgw_rados.cc @@ -3990,7 +3990,7 @@ int RGWRados::fetch_remote_obj(RGWObjectCtx& obj_ctx, string etag; real_time set_mtime; - uint64_t expected_size = 0; + uint64_t accounted_size = 0; RGWObjState *dest_state = NULL; RGWObjManifest *manifest = nullptr; @@ -4029,7 +4029,7 @@ int RGWRados::fetch_remote_obj(RGWObjectCtx& obj_ctx, } ret = conn->complete_request(in_stream_req, &etag, &set_mtime, - &expected_size, nullptr, nullptr, null_yield); + &accounted_size, nullptr, nullptr, null_yield); if (ret < 0) { goto set_err_state; } @@ -4037,17 +4037,18 @@ int RGWRados::fetch_remote_obj(RGWObjectCtx& obj_ctx, if (ret < 0) { goto set_err_state; } - if (cb.get_data_len() != expected_size) { + if (cb.get_data_len() != accounted_size) { ret = -EIO; ldpp_dout(dpp, 0) << "ERROR: object truncated during fetching, expected " - << expected_size << " bytes but received " << cb.get_data_len() << dendl; + << accounted_size << " bytes but received " << cb.get_data_len() << dendl; goto set_err_state; } + if (compressor && compressor->is_compressed()) { bufferlist tmp; RGWCompressionInfo cs_info; cs_info.compression_type = plugin->get_type_name(); - cs_info.orig_size = cb.get_data_len(); + cs_info.orig_size = accounted_size; cs_info.compressor_message = compressor->get_compressor_message(); cs_info.blocks = move(compressor->get_compression_blocks()); encode(cs_info, tmp); @@ -4181,7 +4182,7 @@ int RGWRados::fetch_remote_obj(RGWObjectCtx& obj_ctx, #define MAX_COMPLETE_RETRY 100 for (i = 0; i < MAX_COMPLETE_RETRY; i++) { bool canceled = false; - ret = processor.complete(cb.get_data_len(), etag, mtime, set_mtime, + ret = processor.complete(accounted_size, etag, mtime, set_mtime, attrs, delete_at, nullptr, nullptr, nullptr, zones_trace, &canceled, null_yield); if (ret < 0) { -- 2.39.5