]> xenbits.xensource.com Git - 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, 18 Dec 2014 11:53:56 +0000 (12:53 +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`

src/qemu/qemu_hotplug.c

index 21e9713099d8b45aa16cd0a472d20e2a5352a433..a8862d91b21b4e4510ce48ac27bb25eb1741f3c7 100644 (file)
@@ -679,16 +679,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) {
@@ -740,13 +732,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;
 }