]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
rgw/lc: add coroutine support for cloud-transition and cloud-restore 68453/head
authorMatthew N. Heler <matthew.heler@hotmail.com>
Fri, 17 Apr 2026 18:13:52 +0000 (13:13 -0500)
committerMatthew N. Heler <matthew.heler@hotmail.com>
Fri, 24 Apr 2026 11:10:20 +0000 (06:10 -0500)
commit7a130a9934bb822158b7f7a8a5e8472601a969df
treec65244847636c096aae01ffbc3d0a9148bae38d9
parentb709b93685b8d497c2bd1a4e3a716725f658d188
rgw/lc: add coroutine support for cloud-transition and cloud-restore

LCWorker's cloud-tiering was blocking the io_context on every HTTP
call, so rgw_lc_max_wp_worker coroutines ended up running one at a
time instead of in parallel. Same story on the restore side.

Pass the worker's optional_yield through RGWLCCloudTierCtx and use it
from the stream classes, the multipart and status-obj helpers, and
cloud_tier_restore. Transitions and restores now actually yield.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
src/rgw/driver/rados/rgw_lc_tier.cc
src/rgw/driver/rados/rgw_lc_tier.h
src/rgw/driver/rados/rgw_sal_rados.cc