From 5ef886e9bca11319cd57300bdd0dde3fdc7cb4e9 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Thu, 5 Sep 2019 14:47:10 +0200 Subject: [PATCH] qemu: hotplug: Simplify cleanup in qemuDomainChangeMediaLegacy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Switch to using VIR_AUTOFREE and remove the cleanup label. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- src/qemu/qemu_hotplug.c | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) 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; } -- GitLab