From: Casey Bodley Date: Sat, 11 Mar 2023 19:28:44 +0000 (-0500) Subject: rgw/rados: copy_obj_data() can use yielding throttle X-Git-Tag: v19.0.0~1553^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F50347%2Fhead;p=ceph.git rgw/rados: copy_obj_data() can use yielding throttle Signed-off-by: Casey Bodley --- diff --git a/src/rgw/driver/rados/rgw_rados.cc b/src/rgw/driver/rados/rgw_rados.cc index 96a4efe17443..5c0497ddad10 100644 --- a/src/rgw/driver/rados/rgw_rados.cc +++ b/src/rgw/driver/rados/rgw_rados.cc @@ -4619,14 +4619,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;