]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Fix hotplugging of block device-backed usb disks
authorJán Tomko <jtomko@redhat.com>
Thu, 18 Dec 2014 11:50:18 +0000 (12:50 +0100)
committerJán Tomko <jtomko@redhat.com>
Thu, 22 Jan 2015 11:37:35 +0000 (12:37 +0100)
Commit ca91ba7 moved qemuSetupDiskCgroup into the qemuDomainPrepareDisk
helper, but failed to call it for usb disks.

https://bugzilla.redhat.com/show_bug.cgi?id=1175668`
(cherry picked from commit 1cddf0001f5f1af10791181229148f36fd6d94c5)
Signed-off-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_hotplug.c

index 66e8146d133846f1079e53a0d2f33a5457e62bc5..5f12d773f6b04841e34186a8fe3675ca515990a9 100644 (file)
@@ -678,16 +678,8 @@ qemuDomainAttachUSBMassstorageDevice(virConnectPtr conn,
         }
     }
 
-    if (virDomainLockDiskAttach(driver->lockManager, cfg->uri,
-                                vm, disk) < 0)
-        goto cleanup;
-
-    if (virSecurityManagerSetDiskLabel(driver->securityManager,
-                                       vm->def, disk) < 0) {
-        if (virDomainLockDiskDetach(driver->lockManager, vm, disk) < 0)
-            VIR_WARN("Unable to release lock on %s", src);
+    if (qemuDomainPrepareDisk(driver, vm, disk, NULL, false) < 0)
         goto cleanup;
-    }
 
     /* XXX not correct once we allow attaching a USB CDROM */
     if (!src) {
@@ -739,13 +731,7 @@ qemuDomainAttachUSBMassstorageDevice(virConnectPtr conn,
     return ret;
 
  error:
-    if (virSecurityManagerRestoreDiskLabel(driver->securityManager,
-                                           vm->def, disk) < 0)
-        VIR_WARN("Unable to restore security label on %s", src);
-
-    if (virDomainLockDiskDetach(driver->lockManager, vm, disk) < 0)
-        VIR_WARN("Unable to release lock on %s", src);
-
+    ignore_value(qemuDomainPrepareDisk(driver, vm, disk, NULL, true));
     goto cleanup;
 }