]> git.proxmox.com Git - pve-guest-common.git/commit
partially fix #3111: snapshot rollback: improve removing replication snapshots
authorFabian Ebner <f.ebner@proxmox.com>
Thu, 12 Aug 2021 11:01:05 +0000 (13:01 +0200)
committerFabian Grünbichler <f.gruenbichler@proxmox.com>
Mon, 8 Nov 2021 09:34:00 +0000 (10:34 +0100)
commit2dfe62927bb701acde3f8c4bc89598ab4eb0b4a0
treed9c866bb08f4b6736c8dd46f47dfe8817453bccb
parent239fe671c3a7fa4625b18c8db1f1d71945bb9a28
partially fix #3111: snapshot rollback: improve removing replication snapshots

Get the replicatable volumes from the snapshot config rather than the
current config. And filter those volumes further to those that will
actually be rolled back.

Previously, a volume that only had replication snapshots (e.g. because
it was added after the snapshot was taken, or the vmstate volume)
would lose them.  Then, on the next replication run, such a volume
would lead to an error, because replication tried to do a full sync,
but the target volume still exists.

This is not a complete fix. It is still possible to run into problems:
- by removing the last (non-replication) snapshots after a rollback
  before replication can run once.
- by creating a snapshot and making a rollback before replication can
  run once.

The list of volumes is not required to be sorted for prepare(), but it
is sorted by how foreach_volume() iterates now, so not random.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
src/PVE/AbstractConfig.pm