[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