diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index cd53d3c5a5..6979c85887 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -7655,8 +7655,6 @@ qemuDomainChangeDiskLive(virConnectPtr conn, { virDomainDiskDefPtr disk = dev->data.disk; virDomainDiskDefPtr orig_disk = NULL; - int startupPolicy; - int snapshot; int ret = -1; if (virStorageTranslateDiskSourcePool(conn, disk) < 0) @@ -7674,18 +7672,12 @@ qemuDomainChangeDiskLive(virConnectPtr conn, goto cleanup; } - startupPolicy = orig_disk->startupPolicy; - snapshot = orig_disk->snapshot; - switch ((virDomainDiskDevice) disk->device) { case VIR_DOMAIN_DISK_DEVICE_CDROM: case VIR_DOMAIN_DISK_DEVICE_FLOPPY: if (!qemuDomainDiskChangeSupported(disk, orig_disk)) goto cleanup; - orig_disk->startupPolicy = dev->data.disk->startupPolicy; - orig_disk->snapshot = dev->data.disk->snapshot; - if (qemuDomainDiskSourceDiffers(disk, orig_disk)) { /* Add the new disk src into shared disk hash table */ if (qemuAddSharedDevice(driver, dev, vm->def->name) < 0) @@ -7696,11 +7688,14 @@ qemuDomainChangeDiskLive(virConnectPtr conn, force) < 0) { ignore_value(qemuRemoveSharedDisk(driver, dev->data.disk, vm->def->name)); - goto rollback; + goto cleanup; } dev->data.disk->src = NULL; } + + orig_disk->startupPolicy = dev->data.disk->startupPolicy; + orig_disk->snapshot = dev->data.disk->snapshot; break; case VIR_DOMAIN_DISK_DEVICE_DISK: @@ -7719,11 +7714,6 @@ qemuDomainChangeDiskLive(virConnectPtr conn, ret = 0; cleanup: return ret; - - rollback: - orig_disk->snapshot = snapshot; - orig_disk->startupPolicy = startupPolicy; - goto cleanup; } static int