From: Pavel Hrdina Date: Mon, 19 May 2014 13:48:43 +0000 (+0200) Subject: Return error when updating cdrom device X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=d49f18e97679948a49049a741748d7b67afded83;p=libvirt.git Return error when updating cdrom device 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 --- diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 125a2dbc19..76e289bc31 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -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) {