From: Peter Krempa Date: Thu, 5 Sep 2019 12:47:10 +0000 (+0200) Subject: qemu: hotplug: Simplify cleanup in qemuDomainChangeMediaLegacy X-Git-Tag: v5.8.0-rc1~298 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ef886e9bca11319cd57300bdd0dde3fdc7cb4e9;p=thirdparty%2Flibvirt.git qemu: hotplug: Simplify cleanup in qemuDomainChangeMediaLegacy Switch to using VIR_AUTOFREE and remove the cleanup label. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 63acb9c451..c91dfc9f6b 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -258,48 +258,48 @@ qemuDomainChangeMediaLegacy(virQEMUDriverPtr driver, virStorageSourcePtr newsrc, bool force) { - int ret = -1, rc; - char *driveAlias = NULL; + int rc; + VIR_AUTOFREE(char *) driveAlias = NULL; qemuDomainObjPrivatePtr priv = vm->privateData; qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk); const char *format = NULL; - char *sourcestr = NULL; + VIR_AUTOFREE(char *) sourcestr = NULL; if (!disk->info.alias) { virReportError(VIR_ERR_INTERNAL_ERROR, _("missing disk device alias name for %s"), disk->dst); - goto cleanup; + return -1; } if (!(driveAlias = qemuAliasDiskDriveFromDisk(disk))) - goto cleanup; + return -1; qemuDomainObjEnterMonitor(driver, vm); rc = qemuMonitorEjectMedia(priv->mon, driveAlias, force); if (qemuDomainObjExitMonitor(driver, vm) < 0) - goto cleanup; + return -1; /* If the tray is present wait for it to open. */ if (!force && diskPriv->tray) { rc = qemuHotplugWaitForTrayEject(vm, disk); if (rc < 0) - goto cleanup; + return -1; /* re-issue ejection command to pop out the media */ qemuDomainObjEnterMonitor(driver, vm); rc = qemuMonitorEjectMedia(priv->mon, driveAlias, false); if (qemuDomainObjExitMonitor(driver, vm) < 0 || rc < 0) - goto cleanup; + return -1; } else { /* otherwise report possible errors from the attempt to eject the media*/ if (rc < 0) - goto cleanup; + return -1; } if (!virStorageSourceIsEmpty(newsrc)) { if (qemuGetDriveSourceString(newsrc, NULL, &sourcestr) < 0) - goto cleanup; + return -1; if (virStorageSourceGetActualType(newsrc) != VIR_STORAGE_TYPE_DIR) format = virStorageFileFormatTypeToString(newsrc->format); @@ -310,18 +310,13 @@ qemuDomainChangeMediaLegacy(virQEMUDriverPtr driver, sourcestr, format); if (qemuDomainObjExitMonitor(driver, vm) < 0) - goto cleanup; + return -1; } if (rc < 0) - goto cleanup; - - ret = 0; + return -1; - cleanup: - VIR_FREE(driveAlias); - VIR_FREE(sourcestr); - return ret; + return 0; }