]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
rgw/restore: Persistently store the restore state for cloud-s3 tier
authorSoumya Koduri <skoduri@redhat.com>
Sun, 10 Aug 2025 12:13:11 +0000 (17:43 +0530)
committerSoumya Koduri <skoduri@redhat.com>
Mon, 22 Sep 2025 18:12:50 +0000 (23:42 +0530)
commit71882f61d5b5b6d46ad74a888097cd4ebd6b7464
tree51dc427e1d599112ab7dc6c0dda7a3bdd962f430
parent48765233d624e28837274faac3364cc72769f022
rgw/restore: Persistently store the restore state for cloud-s3 tier

In order to resume IN_PROGRESS restore operations post RGW service
restarts, store the entries of the objects being restored from `cloud-s3`
tier persistently. This is already being done for `cloud-s3-glacier`
tier and now the same will be applied to `cloud-s3` tier too.

With this change, when `restore-object` is performed on any object,
it will be marked RESTORE_ALREADY_IN_PROGRESS and added to a restore FIFO queue.
This queue is later processed by Restore worker thread which will try to
fetch the objects from Cloud or Glacier/Tape S3 services. Hence all the
restore operations are now handled asynchronously (for both `cloud-s3`,
`cloud-s3-glacier` tiers).

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
src/rgw/driver/rados/rgw_rados.cc
src/rgw/rgw_restore.cc