]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu_snapshot: create: virDomainSnapshotGetCurrent is not used with redefine
authorPavel Hrdina <phrdina@redhat.com>
Thu, 25 Nov 2021 14:59:42 +0000 (15:59 +0100)
committerPavel Hrdina <phrdina@redhat.com>
Wed, 1 Dec 2021 11:33:33 +0000 (12:33 +0100)
Move it to code path for creating new snapshot.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_snapshot.c

index abcee30116d8b47a0d2e54d33696bfc7ae73e1cf..f0bddea803df0c6f2fa519736a3ed695282d7b4f 100644 (file)
@@ -1702,7 +1702,6 @@ qemuSnapshotCreateXML(virDomainPtr domain,
     virQEMUDriver *driver = domain->conn->privateData;
     virDomainMomentObj *snap = NULL;
     virDomainSnapshotPtr snapshot = NULL;
-    virDomainMomentObj *current = NULL;
     bool update_current = true;
     bool redefine = flags & VIR_DOMAIN_SNAPSHOT_CREATE_REDEFINE;
     g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
@@ -1766,6 +1765,8 @@ qemuSnapshotCreateXML(virDomainPtr domain,
                 goto endjob;
         }
     } else {
+        virDomainMomentObj *current = NULL;
+
         if (qemuSnapshotCreateAlignDisks(vm, def, driver, flags) < 0)
             goto endjob;
 
@@ -1776,12 +1777,11 @@ qemuSnapshotCreateXML(virDomainPtr domain,
             goto endjob;
 
         def = NULL;
-    }
 
-    current = virDomainSnapshotGetCurrent(vm->snapshots);
-    if (current) {
-        if (!redefine)
+        current = virDomainSnapshotGetCurrent(vm->snapshots);
+        if (current) {
             snap->def->parent_name = g_strdup(current->def->name);
+        }
     }
 
     /* actually do the snapshot */