[pbs-devel] [PATCH proxmox-backup v3 0/6] followups for garbage collection
Christian Ebner
c.ebner at proxmox.com
Wed Jan 14 13:31:33 CET 2026
This patch series contains some followup to the recently introduced
changes to phase 2 of garbage collection on s3 backed datastores [0]
and clenups for marker files during phase 3 [1], as well as some
refactoring of the chunk filename extension parsing and bad chunk
filename generation.
The first patch introduces a dedicated struct for tracking objects
to be deleted from the s3 object store during phase 2, bundling the
length and age based deletion threshold logic to the list state.
Subsequent patches rename and adapt the chunk store iterator to
optimize for regular chunk filenames and clearly distinguish chunks
by directory entry filename extension.
Further, chunk extension parsing and bad chunk filename generation are
moved to be associated functions of the newly introduced `ChunkExt`
enum.
Changes since version 2 (thanks @Fabian):
- Consider delete list as above age threshold on time jumps to the
past.
- Align age and capacity threshold to be reached when value is equal
(age needed to be greater in previous series, capacity was reached
on equal).
- Refactor chunk iterator and restrict filename extension checks
- Lock chunk store before touching bad chunks,
- Make cond_touch_path() private
Changes since version 1:
- Followup patches for refactoring extension parsing and bad chunk
filename generation.
[0] https://lore.proxmox.com/pbs-devel/2b637884-f6bd-434d-be00-fa4e9d9e2dcb@proxmox.com/T/
[1] https://lore.proxmox.com/pbs-devel/1764145262.ycdoq9dzrx.astroid@yuna.none/T/
proxmox-backup:
Christian Ebner (6):
GC: Move S3 delete list state and logic to a dedicated struct
chunk store: rename and limit scope for chunk store iterator
chunk store: return chunk extension and restrict chunk filename check
datastore: move bad chunk touching logic to chunk store and lock it
chunk store: move next bad chunk path generator into dedicated helper
chunk store: move bad chunk filename generation into dedicated helper
pbs-datastore/src/chunk_store.rs | 101 +++++++++++++++++---
pbs-datastore/src/datastore.rs | 159 ++++++++++++++++---------------
2 files changed, 170 insertions(+), 90 deletions(-)
Summary over all repositories:
2 files changed, 170 insertions(+), 90 deletions(-)
--
Generated by git-murpp 0.8.1
More information about the pbs-devel
mailing list