From: Christian Ebner <c.ebner@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH proxmox-backup v3 0/6] followups for garbage collection
Date: Wed, 14 Jan 2026 13:31:33 +0100 [thread overview]
Message-ID: <20260114123139.505214-1-c.ebner@proxmox.com> (raw)
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
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
next reply other threads:[~2026-01-14 12:32 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-14 12:31 Christian Ebner [this message]
2026-01-14 12:31 ` [pbs-devel] [PATCH proxmox-backup v3 1/6] GC: Move S3 delete list state and logic to a dedicated struct Christian Ebner
2026-01-14 12:31 ` [pbs-devel] [PATCH proxmox-backup v3 2/6] chunk store: rename and limit scope for chunk store iterator Christian Ebner
2026-01-14 12:31 ` [pbs-devel] [PATCH proxmox-backup v3 3/6] chunk store: return chunk extension and restrict chunk filename check Christian Ebner
2026-01-14 12:31 ` [pbs-devel] [PATCH proxmox-backup v3 4/6] datastore: move bad chunk touching logic to chunk store and lock it Christian Ebner
2026-01-14 12:31 ` [pbs-devel] [PATCH proxmox-backup v3 5/6] chunk store: move next bad chunk path generator into dedicated helper Christian Ebner
2026-01-14 12:31 ` [pbs-devel] [PATCH proxmox-backup v3 6/6] chunk store: move bad chunk filename generation " Christian Ebner
2026-01-14 13:52 ` [pbs-devel] applied-series: [PATCH proxmox-backup v3 0/6] followups for garbage collection Fabian Grünbichler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260114123139.505214-1-c.ebner@proxmox.com \
--to=c.ebner@proxmox.com \
--cc=pbs-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox