mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-26 23:55:23 +00:00
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>
(cherry picked from commit f7c1410b0e
)
This commit is contained in:
parent
2362e98273
commit
97015f2fc4
@ -13472,11 +13472,6 @@ qemuDomainSnapshotPrepare(virConnectPtr conn,
|
|||||||
active) < 0)
|
active) < 0)
|
||||||
goto cleanup;
|
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 &&
|
if (vm->def->disks[i]->src->format > 0 &&
|
||||||
vm->def->disks[i]->src->format != VIR_STORAGE_FILE_QCOW2) {
|
vm->def->disks[i]->src->format != VIR_STORAGE_FILE_QCOW2) {
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||||
|
Loading…
Reference in New Issue
Block a user