From: John Ferlan Date: Mon, 18 Jul 2016 17:24:27 +0000 (-0400) Subject: qemu: Use the hostdev alias in qemuDomainAttachHostSCSIDevice error path X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=1149fe4c15feba1a2970bd69c3d3d2884cd72938;p=libvirt.git qemu: Use the hostdev alias in qemuDomainAttachHostSCSIDevice error path https://bugzilla.redhat.com/show_bug.cgi?id=1289391 Rather than pass the whole drive string (which contained the alias), pass only the alias for the qemuMonitorDriveDel call in the error path when adding a host device in the monitor fails. --- diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 5aa9e5c3b9..00e4a75ba8 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -2045,6 +2045,7 @@ qemuDomainAttachHostSCSIDevice(virConnectPtr conn, virErrorPtr orig_err; char *devstr = NULL; char *drvstr = NULL; + char *drivealias = NULL; bool teardowncgroup = false; bool teardownlabel = false; bool driveAdded = false; @@ -2103,6 +2104,9 @@ qemuDomainAttachHostSCSIDevice(virConnectPtr conn, if (!(drvstr = qemuBuildSCSIHostdevDrvStr(hostdev))) goto cleanup; + if (!(drivealias = qemuAliasFromHostdev(hostdev))) + goto cleanup; + if (!(devstr = qemuBuildSCSIHostdevDevStr(vm->def, hostdev, priv->qemuCaps))) goto cleanup; @@ -2138,13 +2142,14 @@ qemuDomainAttachHostSCSIDevice(virConnectPtr conn, vm->def, hostdev, NULL) < 0) VIR_WARN("Unable to restore host device labelling on hotplug fail"); } + VIR_FREE(drivealias); VIR_FREE(drvstr); VIR_FREE(devstr); return ret; exit_monitor: orig_err = virSaveLastError(); - if (driveAdded && qemuMonitorDriveDel(priv->mon, drvstr) < 0) { + if (driveAdded && qemuMonitorDriveDel(priv->mon, drivealias) < 0) { VIR_WARN("Unable to remove drive %s (%s) after failed " "qemuMonitorAddDevice", drvstr, devstr);