When reverting to inactive snapshot updating the domain definition needs
to happen after the new overlays are created otherwise qemu-img will
correctly fail with error:
Trying to create an image with the same filename as the backing file
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
{
virQEMUDriver *driver = QEMU_DOMAIN_PRIVATE(vm)->driver;
g_autoptr(virBitmap) created = NULL;
+ int ret = -1;
created = virBitmapNew(tmpsnapdef->ndisks);
+ if (qemuSnapshotCreateQcow2Files(driver, domdef, tmpsnapdef, created) < 0)
+ goto cleanup;
+
if (qemuSnapshotDomainDefUpdateDisk(domdef, tmpsnapdef, false) < 0)
- return -1;
+ goto cleanup;
+
+ ret = 0;
- if (qemuSnapshotCreateQcow2Files(driver, domdef, tmpsnapdef, created) < 0) {
+ cleanup:
+ if (ret < 0 && created) {
ssize_t bit = -1;
virErrorPtr err = NULL;
}
virErrorRestore(&err);
-
- return -1;
}
- return 0;
+ return ret;
}