]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: snapshot: Detect internal snapshots also for sheepdog and RBD
authorPeter Krempa <pkrempa@redhat.com>
Mon, 25 Nov 2013 13:51:25 +0000 (14:51 +0100)
committerCole Robinson <crobinso@redhat.com>
Mon, 2 Dec 2013 19:13:42 +0000 (14:13 -0500)
When doing an internal snapshot on a VM with sheepdog or RBD disks we
would not set a flag to mark the domain is using internal snapshots and
might end up creating a mixed snapshot. Move the setting of the variable
to avoid this problem.

(cherry picked from commit d8cf91ae38f8aa0da27fe72ba0b846021d8735c9)

src/qemu/qemu_driver.c

index 491dfc7db09495bceff990b334d95b9d89ec5034..2585a16bbc57fe63a01107d1724618f24ae8a088 100644 (file)
@@ -11723,6 +11723,8 @@ qemuDomainSnapshotPrepare(virDomainObjPtr vm, virDomainSnapshotDefPtr def,
 
         switch (disk->snapshot) {
         case VIR_DOMAIN_SNAPSHOT_LOCATION_INTERNAL:
+            found_internal = true;
+
             if (def->state != VIR_DOMAIN_DISK_SNAPSHOT &&
                 dom_disk->type == VIR_DOMAIN_DISK_TYPE_NETWORK &&
                 (dom_disk->protocol == VIR_DOMAIN_DISK_PROTOCOL_SHEEPDOG ||
@@ -11746,7 +11748,6 @@ qemuDomainSnapshotPrepare(virDomainObjPtr vm, virDomainSnapshotDefPtr def,
                                disk->name);
                 goto cleanup;
             }
-            found_internal = true;
             break;
 
         case VIR_DOMAIN_SNAPSHOT_LOCATION_EXTERNAL: