[pbs-devel] [PATCH proxmox-backup 1/3] sync: fix premature return in snapshot skip filter logic
Christian Ebner
c.ebner at proxmox.com
Mon Nov 4 11:58:28 CET 2024
While checking which snapshots to sync, the filter logic incorrectly
included the first snapshot newer that the last synced one
unconditionally, bypassing the transfer last check for that one
snapshot. Following snapshots are correctly handled again.
E.g. of an incorrect sync by excerpt of a task log provided by a user
in the community forum [0], with transfer last set to 1:
```
skipped: 2 snapshot(s) (2024-09-29T18:00:28Z .. 2024-10-20T18:00:29Z) - older than the newest local snapshot
skipped: 5 snapshot(s) (2024-10-28T19:00:28Z .. 2024-11-01T19:00:32Z) - due to transfer-last
sync snapshot vm/110/2024-10-27T19:00:25Z
...
sync snapshot vm/110/2024-11-02T19:00:23Z
```
Not only the last, but the first newer than newest and last were
incorrectly synced.
By dropping the early return, leading to incorrect inclusion of the
snapshot, the transfer last condition is now correctly checked as
well.
Link to the issue reported in the community forum:
[0] https://forum.proxmox.com/threads/156873/
Signed-off-by: Christian Ebner <c.ebner at proxmox.com>
---
src/server/pull.rs | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/server/pull.rs b/src/server/pull.rs
index 3117f7d2c..cc1427196 100644
--- a/src/server/pull.rs
+++ b/src/server/pull.rs
@@ -534,7 +534,6 @@ async fn pull_group(
} else if already_synced_skip_info.count > 0 {
info!("{already_synced_skip_info}");
already_synced_skip_info.reset();
- return true;
}
if pos < cutoff && last_sync_time != dir.time {
--
2.39.5
More information about the pbs-devel
mailing list