[pbs-devel] [PATCH v2 0/7] More flocking and race elimination
Stefan Reiter
s.reiter at proxmox.com
Tue Aug 11 10:50:35 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.
The 6th patch introduces locking for base backups, but also re-writes the
previous (unnecessarily complex) base-snapshot existance check, which is
therefor reverted in patch 5.
v2:
* drop applied patches
* add cleanup patches from dietmar and rewrite series on top [1]
* use new lock_dir_noblock function
* rethink prune logic w/ feedback from Fabi
[0] https://lists.proxmox.com/pipermail/pbs-devel/2020-July/000233.html
[1] https://lists.proxmox.com/pipermail/pbs-devel/2020-August/000311.html
proxmox-backup: Dietmar Maurer (2):
src/tools/fs.rs: new helper lock_dir_noblock
src/backup/backup_info.rs: remove BackupGroup lock()
Stefan Reiter (5):
datastore: prevent in-use deletion with locks instead of heuristic
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
prune: also check backup snapshot locks
src/api2/admin/datastore.rs | 2 +-
src/api2/backup.rs | 16 ++++++---
src/api2/backup/environment.rs | 17 +++-------
src/backup/backup_info.rs | 43 +----------------------
src/backup/datastore.rs | 60 ++++++++++-----------------------
src/backup/prune.rs | 50 +++++++++++++++++----------
src/bin/proxmox-backup-proxy.rs | 2 +-
src/client/pull.rs | 2 +-
src/tools/fs.rs | 39 +++++++++++++++++++--
tests/prune.rs | 6 ++--
10 files changed, 110 insertions(+), 127 deletions(-)
--
2.20.1
More information about the pbs-devel
mailing list