]> xenbits.xensource.com Git - libvirt.git/commit
qemu_snapshot: add checks for external snapshot deletion
authorPavel Hrdina <phrdina@redhat.com>
Mon, 6 Mar 2023 11:25:04 +0000 (12:25 +0100)
committerPavel Hrdina <phrdina@redhat.com>
Tue, 22 Aug 2023 14:06:42 +0000 (16:06 +0200)
commit88d0e6748df5afe8d598cd39f49c0bd05e5e18c0
treeec15f589a2a97d1e57da453cd6286b4f3fc5bb3e
parentdaf48171f13f8a22465239a3281717f69c5d3e9c
qemu_snapshot: add checks for external snapshot deletion

With the introduction of external snapshot revert support we need to
error out in some cases when trying to delete some snapshots.

If users reverts to non-leaf snapshots and would try to delete it after
the revert is done it would not work currently as this operation would
require using block-stream which is not implemented for now as in this
case the snapshot has two children so the disk files have multiple
overlays.

Similarly if user reverts to non-leaf snapshot and would try to delete
snapshot that is non-leaf but not in currently active snapshot chain we
would still need to use block-commit operation. The issue here is that
in order to do that we would have to start new qemu process with
different domain definition than what is currently used by the domain.
If the current domain would be running it would complicate things even
more so this operation is not yet supported.

If user creates new snapshot after reverting to non-leaf snapshot it
creates a new branch. Deleting snapshot with multiple children will
require block-stream which is not implemented for now.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
src/qemu/qemu_snapshot.c