From 94ca0469a67d0166296ac15c7248ed0f1e271d64 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Sat, 11 Mar 2023 14:28:44 -0500 Subject: [PATCH] rgw/rados: copy_obj_data() can use yielding throttle Signed-off-by: Casey Bodley (cherry picked from commit b929958f0f57170bec6351d9f4826e658c522f13) --- src/rgw/driver/rados/rgw_rados.cc | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/rgw/driver/rados/rgw_rados.cc b/src/rgw/driver/rados/rgw_rados.cc index 9a4361ffe609a..9260a1edc0686 100644 --- a/src/rgw/driver/rados/rgw_rados.cc +++ b/src/rgw/driver/rados/rgw_rados.cc @@ -4675,14 +4675,11 @@ int RGWRados::copy_obj_data(RGWObjectCtx& obj_ctx, string tag; append_rand_alpha(cct, tag, tag, 32); - rgw::BlockingAioThrottle aio(cct->_conf->rgw_put_obj_min_window_size); + auto aio = rgw::make_throttle(cct->_conf->rgw_put_obj_min_window_size, y); using namespace rgw::putobj; - // do not change the null_yield in the initialization of this AtomicObjectProcessor - // it causes crashes in the ragweed tests - AtomicObjectProcessor processor(&aio, this, dest_bucket_info, &dest_placement, - dest_bucket_info.owner, obj_ctx, - dest_obj, olh_epoch, tag, - dpp, null_yield); + AtomicObjectProcessor processor(aio.get(), this, dest_bucket_info, + &dest_placement, dest_bucket_info.owner, + obj_ctx, dest_obj, olh_epoch, tag, dpp, y); int ret = processor.prepare(y); if (ret < 0) return ret; -- 2.39.5