]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: snapshot: Don't skip check for qcow2 format with network disks
authorShanzhi Yu <shyu@redhat.com>
Sat, 28 Feb 2015 09:51:36 +0000 (17:51 +0800)
committerCole Robinson <crobinso@redhat.com>
Tue, 28 Apr 2015 15:06:38 +0000 (11:06 -0400)
When the domain's source disk type is network, if source protocol is rbd
or sheepdog, the 'if().. break' will end the current case, which lead to
miss check the driver type is raw or qcow2. Libvirt will allow to create
internal snapshot for a running domain with raw format disk which based
on rbd storage.

While both protocols support internal snapshots of the disk qemu is not
able to use it as it requires some place to store the memory image. The
check if the disk is backed by a qcow2 image needs to be executed
always.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1179533
Signed-off-by: Shanzhi Yu <shyu@redhat.com>
(cherry picked from commit f7c1410b0ee5b878e81f2eddf86c609947a9b27c)

src/qemu/qemu_driver.c

index 6014074331d603f55dad8b243982b824edb680a5..6c1a181be94cc963d2fbd14ead9d58799d654575 100644 (file)
@@ -13472,11 +13472,6 @@ qemuDomainSnapshotPrepare(virConnectPtr conn,
                                                       active) < 0)
                 goto cleanup;
 
-            if (dom_disk->src->type == VIR_STORAGE_TYPE_NETWORK &&
-                (dom_disk->src->protocol == VIR_STORAGE_NET_PROTOCOL_SHEEPDOG ||
-                 dom_disk->src->protocol == VIR_STORAGE_NET_PROTOCOL_RBD)) {
-                break;
-            }
             if (vm->def->disks[i]->src->format > 0 &&
                 vm->def->disks[i]->src->format != VIR_STORAGE_FILE_QCOW2) {
                 virReportError(VIR_ERR_CONFIG_UNSUPPORTED,