On Mon, Feb 26, 2024 at 14:40:50 +0100, Pavel Hrdina wrote: > XML metadata for snapshot contains only single list of disk overlays > from the moment when the snapshot was taken. When user creates multiple > branches of snapshots the parent snapshot will still list only the > original disk overlays. This may cause an issue in a specific scenario: > > s1 > | > +- s2 > +- s3 (active) > > For this snapshot topology when we delete s2 metadata for s1 are not > updated. Now when we delete s1 the code operated with incorrect > overlays from s1 metadata in order to update s3 metadata resulting in no > changes to s3 metadata. > > Now when user tries to delete s3 it fails with following error: > > error: Failed to delete snapshot s3 > error: operation failed: snapshot VM disk source and parent disk source are not the same > > For the actual deletion there is a code to figure out the correct disk > source but it was not used to update metadata as well. Due to reasons > how block commit in libvirt works we need to create a copy of that disk > source in order to have it available when updating metadata as the > original source will be freed at that point. > > Resolves: https://issues.redhat.com/browse/RHEL-26276 > Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx> > --- > src/qemu/qemu_snapshot.c | 34 +++++++++++++++++++++------------- > 1 file changed, 21 insertions(+), 13 deletions(-) Reviewed-by: Peter Krempa <pkrempa@xxxxxxxxxx> _______________________________________________ Devel mailing list -- devel@xxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx