[pbs-devel] applied: [PATCH proxmox-backup v2 0/4] fix local marker cleanup for unreferenced, s3 only chunks

Christian Ebner c.ebner at proxmox.com
Mon Nov 24 13:51:29 CET 2025


On 11/24/25 1:27 PM, Thomas Lamprecht wrote:
> On Mon, 24 Nov 2025 10:40:14 +0100, Christian Ebner wrote:
>> These patches fix an issue with garbage collection on S3 backends for an
>> edge case where the local chunk marker is missing and the chunk not
>> being referenced anymore by any index file. In that case garbage
>> collection failed when trying to remove the missing marker from the
>> local datastore cache.
>>
>> Fix this by adapting the phase 2 logic such that the atime is now
>> optional, skipping over the chunk sweep logic if not set and adding the
>> chunk directly for deletion.
>>
>> [...]
> 
> Applied, thanks!
> 
> While I applied the last patch already as the intentions behind it are
> worthwhile to already have, it's IMO not ideal and the function here is already
> quite crowded. Maybe creating a local wrapper struc/type around the delete Vec
> and age variables and implementing this logic on that struct would be nicer?

Yes, bundling all the logic regarding the delete list, including 
creation and age checks, ecc. into a dedicated struct with its helpers 
should help de-clutter this a bit. Will have a go at that, thanks!

> In any case, really not important for now, in fact, I probably won't even
> consider applying such patches this week.
> 
> [1/4] GC: s3: fix local marker cleanup for unreferenced, s3 only chunks
>        commit: e22be89d6d3f8113fc28a47e08600c759917f43d
> [2/4] chunk store: fix and expand the clear_chunk_expected_mark() docstring
>        commit: d8499811f3cb338f02ccce1beeabd81c57fc129c
> [3/4] chunk store: clarify chunk marker helper creates marker if missing
>        commit: bf279c52b5b8dc82093ad26cdf35ddf8b1b68fe1
> [4/4] datastore: refactor common delete list logic into closure
>        commit: ed2ae6d3fbbeb19a19a57e9ed7d6ed7e59c22ba0





More information about the pbs-devel mailing list