]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.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)
committerThomas Serlin <tserlin@redhat.com>
Mon, 22 Sep 2025 19:18:18 +0000 (15:18 -0400)
commitc3a81be9d6f129c89d716b52eca8750fe3cf3105
treeb4c32d0fd872c1f5903cdcf0e7c116fef21ca5d0
parenta69885ac37729473e151438fe5d805163cfbe50f
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).

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