Re: [libvirt PATCH 1/2] qemu_snapshot: call qemuSnapshotDeleteUpdateDisks only for external snapshots

2024-03-27 Thread Peter Krempa
On Mon, Feb 26, 2024 at 14:40:49 +0100, Pavel Hrdina wrote:
> Calling this function when deleting internal snapshot isn't required
> because with internal snapshots all changes are done within the file
> itself so there is no file deletion and no need to update snapshot
> metadata.
> 
> Signed-off-by: Pavel Hrdina 
> ---
>  src/qemu/qemu_snapshot.c | 18 ++
>  1 file changed, 10 insertions(+), 8 deletions(-)

Reviewed-by: Peter Krempa 
___
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-le...@lists.libvirt.org


[libvirt PATCH 1/2] qemu_snapshot: call qemuSnapshotDeleteUpdateDisks only for external snapshots

2024-02-26 Thread Pavel Hrdina
Calling this function when deleting internal snapshot isn't required
because with internal snapshots all changes are done within the file
itself so there is no file deletion and no need to update snapshot
metadata.

Signed-off-by: Pavel Hrdina 
---
 src/qemu/qemu_snapshot.c | 18 ++
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c
index 0cac0c4146..be089a31db 100644
--- a/src/qemu/qemu_snapshot.c
+++ b/src/qemu/qemu_snapshot.c
@@ -3537,14 +3537,16 @@ qemuSnapshotDiscardMetadata(virDomainObj *vm,
 if (rep.err < 0)
 ret = -1;
 
-data.snap = snap;
-data.vm = vm;
-data.error = 0;
-virDomainMomentForEachDescendant(snap,
- qemuSnapshotDeleteUpdateDisks,
- );
-if (data.error < 0)
-ret = -1;
+if (virDomainSnapshotIsExternal(snap)) {
+data.snap = snap;
+data.vm = vm;
+data.error = 0;
+virDomainMomentForEachDescendant(snap,
+ qemuSnapshotDeleteUpdateDisks,
+ );
+if (data.error < 0)
+ret = -1;
+}
 
 virDomainMomentMoveChildren(snap, snap->parent);
 }
-- 
2.43.2
___
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-le...@lists.libvirt.org