qemu: snapshot: Don't skip check for qcow2 format with network disks

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>
This commit is contained in:
Shanzhi Yu 2015-02-28 17:51:36 +08:00 committed by Peter Krempa
parent 3923d98e05
commit f7c1410b0e

View File

@ -13398,11 +13398,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,