]> xenbits.xensource.com Git - libvirt.git/commitdiff
Return error when updating cdrom device
authorPavel Hrdina <phrdina@redhat.com>
Mon, 19 May 2014 13:48:43 +0000 (15:48 +0200)
committerPavel Hrdina <phrdina@redhat.com>
Mon, 19 May 2014 16:40:02 +0000 (18:40 +0200)
The commit 84c59ffa improved the way we change ejectable media.
If for any reason the first "eject" didn't open the tray we
should return with error.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
src/qemu/qemu_hotplug.c

index 125a2dbc1920445e5ba0950c6a89eb455662bdc3..76e289bc31cfe376f313d95dc59bf993bd2950a5 100644 (file)
@@ -106,6 +106,9 @@ int qemuDomainChangeEjectableMedia(virQEMUDriverPtr driver,
     ret = qemuMonitorEjectMedia(priv->mon, driveAlias, force);
     qemuDomainObjExitMonitor(driver, vm);
 
+    if (ret < 0)
+        goto audit;
+
     virObjectRef(vm);
     /* we don't want to report errors from media tray_open polling */
     while (retries) {
@@ -121,14 +124,11 @@ int qemuDomainChangeEjectableMedia(virQEMUDriverPtr driver,
     virObjectUnref(vm);
 
     if (retries <= 0) {
-        if (ret == 0) {
-            /* If ret == -1, EjectMedia already set an error message */
-            virReportError(VIR_ERR_OPERATION_FAILED, "%s",
-                           _("Unable to eject media"));
-        }
+        virReportError(VIR_ERR_OPERATION_FAILED, "%s",
+                       _("Unable to eject media"));
+        ret = -1;
         goto audit;
     }
-    ret = 0;
 
     src = virDomainDiskGetSource(disk);
     if (src) {