[pbs-devel] [PATCH 0/7] More flocking and race elimination
Stefan Reiter
s.reiter at proxmox.com
Tue Aug 4 12:41:58 CEST 2020
The previous series[0] already fixed some bugs, but it also introduced some new
ones, e.g. incomplete but not running backups were unable to be removed.
This is the next step to race-free™ backups, this time going all-in on flocks.
Patches 1 and 2 are technically unrelated (though necessary), so could be
committed standalone.
The last patch introduces locking for base backups, but also re-writes the
previous (unnecessarily complex) base-snapshot existance check, which is
therefor reverted in patch 6.
[0] https://lists.proxmox.com/pipermail/pbs-devel/2020-July/000233.html
proxmox-backup: Stefan Reiter (7):
finish_backup: mark backup as finished only after checks have passed
backup: only allow finished backups as base snapshot
datastore: prevent in-use deletion with locks instead of heuristic
prune: also check backup snapshot locks
backup: flock snapshot on backup start
Revert "backup: ensure base snapshots are still available after
backup"
backup: lock base snapshot and ensure existance on finish
src/api2/admin/datastore.rs | 2 +-
src/api2/backup.rs | 16 +++++---
src/api2/backup/environment.rs | 21 +++--------
src/backup/backup_info.rs | 65 +++++++++++++++++++++++++++++----
src/backup/datastore.rs | 62 +++++++++++--------------------
src/backup/prune.rs | 48 +++++++++++++++++-------
src/bin/proxmox-backup-proxy.rs | 2 +-
src/client/pull.rs | 2 +-
tests/prune.rs | 6 ++-
9 files changed, 136 insertions(+), 88 deletions(-)
--
2.20.1
More information about the pbs-devel
mailing list