Re: [libvirt PATCH 2/2] qemu_snapshot: correctly update metadata when deleting external snapshot with multiple branches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux