823c0cc
From: Peter Krempa <pkrempa@redhat.com>
823c0cc
Date: Mon, 24 Sep 2018 16:49:01 +0200
823c0cc
Subject: [PATCH] Revert "qemu: hotplug: Prepare disk source in
823c0cc
 qemuDomainAttachDeviceDiskLive"
823c0cc
823c0cc
Preparing the storage source prior to assigning the alias will not work
823c0cc
as the names of the certain objects depend on the alias for the legacy
823c0cc
hotplug case as we generate the object names for the secrets based on
823c0cc
the alias.
823c0cc
823c0cc
This reverts commit 192fdaa614e3800255048a8a70c1292ccf18397a.
823c0cc
823c0cc
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
823c0cc
(cherry picked from commit 9ac196997839a29486029a02d8f519df54ae0186)
823c0cc
---
823c0cc
 src/qemu/qemu_hotplug.c | 11 +++++------
823c0cc
 1 file changed, 5 insertions(+), 6 deletions(-)
823c0cc
823c0cc
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
823c0cc
index 4f290b5648..421cc2c174 100644
823c0cc
--- a/src/qemu/qemu_hotplug.c
823c0cc
+++ b/src/qemu/qemu_hotplug.c
823c0cc
@@ -781,6 +781,7 @@ qemuDomainAttachDiskGeneric(virQEMUDriverPtr driver,
823c0cc
     qemuDomainObjPrivatePtr priv = vm->privateData;
823c0cc
     qemuHotplugDiskSourceDataPtr diskdata = NULL;
823c0cc
     char *devstr = NULL;
823c0cc
+    virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
823c0cc
 
823c0cc
     if (qemuHotplugPrepareDiskAccess(driver, vm, disk, NULL, false) < 0)
823c0cc
         goto cleanup;
823c0cc
@@ -788,6 +789,9 @@ qemuDomainAttachDiskGeneric(virQEMUDriverPtr driver,
823c0cc
     if (qemuAssignDeviceDiskAlias(vm->def, disk, priv->qemuCaps) < 0)
823c0cc
         goto error;
823c0cc
 
823c0cc
+    if (qemuDomainPrepareDiskSource(disk, priv, cfg) < 0)
823c0cc
+        goto error;
823c0cc
+
823c0cc
     if (!(diskdata = qemuHotplugDiskSourceAttachPrepare(disk, priv->qemuCaps)))
823c0cc
         goto error;
823c0cc
 
823c0cc
@@ -822,6 +826,7 @@ qemuDomainAttachDiskGeneric(virQEMUDriverPtr driver,
823c0cc
     qemuHotplugDiskSourceDataFree(diskdata);
823c0cc
     qemuDomainSecretDiskDestroy(disk);
823c0cc
     VIR_FREE(devstr);
823c0cc
+    virObjectUnref(cfg);
823c0cc
     return ret;
823c0cc
 
823c0cc
  exit_monitor:
823c0cc
@@ -1062,8 +1067,6 @@ qemuDomainAttachDeviceDiskLive(virQEMUDriverPtr driver,
823c0cc
                                bool forceMediaChange)
823c0cc
 {
823c0cc
     size_t i;
823c0cc
-    virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
823c0cc
-    qemuDomainObjPrivatePtr priv = vm->privateData;
823c0cc
     virDomainDiskDefPtr disk = dev->data.disk;
823c0cc
     virDomainDiskDefPtr orig_disk = NULL;
823c0cc
     int ret = -1;
823c0cc
@@ -1080,9 +1083,6 @@ qemuDomainAttachDeviceDiskLive(virQEMUDriverPtr driver,
823c0cc
     if (qemuDomainDetermineDiskChain(driver, vm, disk, true) < 0)
823c0cc
         goto cleanup;
823c0cc
 
823c0cc
-    if (qemuDomainPrepareDiskSource(disk, priv, cfg) < 0)
823c0cc
-        goto cleanup;
823c0cc
-
823c0cc
     switch ((virDomainDiskDevice) disk->device)  {
823c0cc
     case VIR_DOMAIN_DISK_DEVICE_CDROM:
823c0cc
     case VIR_DOMAIN_DISK_DEVICE_FLOPPY:
823c0cc
@@ -1153,7 +1153,6 @@ qemuDomainAttachDeviceDiskLive(virQEMUDriverPtr driver,
823c0cc
  cleanup:
823c0cc
     if (ret != 0)
823c0cc
         ignore_value(qemuRemoveSharedDevice(driver, dev, vm->def->name));
823c0cc
-    virObjectUnref(cfg);
823c0cc
     return ret;
823c0cc
 }
823c0cc