[libvirt] [PATCH v3 0/4] qemu_process.c: GLib powered cleanup

changes from v2: - only use GLib macros - split the patches to separate the 'remove cleanup labels' patch from the most trivial stuff - added a new patch to change virAsprintf to g_stdup_printf v2: https://www.redhat.com/archives/libvir-list/2019-October/msg00929.html v1: https://www.redhat.com/archives/libvir-list/2019-September/msg01465.html Daniel Henrique Barboza (4): qemu_process.c: use g_autofree qemu_process.c: use g_autoptr() qemu_process.c: remove cleanup labels after g_auto*() changes qemu_process.c: use g_strdup_printf src/qemu/qemu_process.c | 449 +++++++++++++++------------------------- 1 file changed, 166 insertions(+), 283 deletions(-) -- 2.21.0

Change all strings and scalar pointers to use g_autofree. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- src/qemu/qemu_process.c | 93 ++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 61 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 9eaea4edfd..f747cdcc59 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -106,7 +106,7 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver, virDomainObjPtr vm) { char ebuf[1024]; - char *file = NULL; + g_autofree char *file = NULL; qemuDomainObjPrivatePtr priv = vm->privateData; virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); int ret = -1; @@ -117,7 +117,6 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver, if (unlink(file) < 0 && errno != ENOENT && errno != ENOTDIR) VIR_WARN("Failed to remove domain XML for %s: %s", vm->def->name, virStrerror(errno, ebuf, sizeof(ebuf))); - VIR_FREE(file); if (priv->pidfile && unlink(priv->pidfile) < 0 && @@ -1513,7 +1512,7 @@ qemuProcessHandleBlockThreshold(qemuMonitorPtr mon G_GNUC_UNUSED, virDomainDiskDefPtr disk; virStorageSourcePtr src; unsigned int idx; - char *dev = NULL; + g_autofree char *dev = NULL; const char *path = NULL; virObjectLock(vm); @@ -1526,11 +1525,9 @@ qemuProcessHandleBlockThreshold(qemuMonitorPtr mon G_GNUC_UNUSED, if (virStorageSourceIsLocalStorage(src)) path = src->path; - if ((dev = qemuDomainDiskBackingStoreGetName(disk, src, idx))) { + if ((dev = qemuDomainDiskBackingStoreGetName(disk, src, idx))) event = virDomainEventBlockThresholdNewFromObj(vm, dev, path, threshold, excess); - VIR_FREE(dev); - } } virObjectUnlock(vm); @@ -2065,7 +2062,7 @@ static int qemuProcessReportLogError(qemuDomainLogContextPtr logCtxt, const char *msgprefix) { - char *logmsg = NULL; + g_autofree char *logmsg = NULL; size_t max; max = VIR_ERROR_MAX_LENGTH - 1; @@ -2082,7 +2079,6 @@ qemuProcessReportLogError(qemuDomainLogContextPtr logCtxt, else virReportError(VIR_ERR_INTERNAL_ERROR, _("%s: %s"), msgprefix, logmsg); - VIR_FREE(logmsg); return 0; } @@ -2102,7 +2098,7 @@ qemuProcessLookupPTYs(virDomainChrDefPtr *devices, int count, virHashTablePtr info) { - char *id = NULL; + g_autofree char *id = NULL; size_t i; int ret = -1; @@ -2140,7 +2136,6 @@ qemuProcessLookupPTYs(virDomainChrDefPtr *devices, ret = 0; cleanup: - VIR_FREE(id); return ret; } @@ -2193,7 +2188,7 @@ qemuProcessRefreshChannelVirtioState(virQEMUDriverPtr driver, int agentReason = VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_REASON_CHANNEL; qemuMonitorChardevInfoPtr entry; virObjectEventPtr event = NULL; - char *id = NULL; + g_autofree char *id = NULL; int ret = -1; if (booted) @@ -2224,7 +2219,6 @@ qemuProcessRefreshChannelVirtioState(virQEMUDriverPtr driver, ret = 0; cleanup: - VIR_FREE(id); return ret; } @@ -2645,7 +2639,7 @@ qemuProcessSetupPid(virDomainObjPtr vm, virCgroupPtr cgroup = NULL; virBitmapPtr use_cpumask = NULL; g_autoptr(virBitmap) hostcpumap = NULL; - char *mem_mask = NULL; + g_autofree char *mem_mask = NULL; int ret = -1; if ((period || quota) && @@ -2722,7 +2716,6 @@ qemuProcessSetupPid(virDomainObjPtr vm, ret = 0; cleanup: - VIR_FREE(mem_mask); if (cgroup) { if (ret < 0) virCgroupRemove(cgroup); @@ -2801,7 +2794,7 @@ qemuProcessKillManagedPRDaemon(virDomainObjPtr vm) { qemuDomainObjPrivatePtr priv = vm->privateData; virErrorPtr orig_err; - char *pidfile; + g_autofree char *pidfile = NULL; if (!(pidfile = qemuProcessBuildPRHelperPidfilePath(vm))) { VIR_WARN("Unable to construct pr-helper pidfile path"); @@ -2822,8 +2815,6 @@ qemuProcessKillManagedPRDaemon(virDomainObjPtr vm) } } virErrorRestore(&orig_err); - - VIR_FREE(pidfile); } @@ -2832,7 +2823,7 @@ qemuProcessStartPRDaemonHook(void *opaque) { virDomainObjPtr vm = opaque; size_t i, nfds = 0; - int *fds = NULL; + g_autofree int *fds = NULL; int ret = -1; if (qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT)) { @@ -2848,7 +2839,6 @@ qemuProcessStartPRDaemonHook(void *opaque) cleanup: for (i = 0; i < nfds; i++) VIR_FORCE_CLOSE(fds[i]); - VIR_FREE(fds); return ret; } @@ -2860,9 +2850,9 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm) virQEMUDriverPtr driver = priv->driver; virQEMUDriverConfigPtr cfg; int errfd = -1; - char *pidfile = NULL; + g_autofree char *pidfile = NULL; int pidfd = -1; - char *socketPath = NULL; + g_autofree char *socketPath = NULL; pid_t cpid = -1; virCommandPtr cmd = NULL; virTimeBackOffVar timebackoff; @@ -2968,9 +2958,7 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm) unlink(pidfile); } virCommandFree(cmd); - VIR_FREE(socketPath); VIR_FORCE_CLOSE(pidfd); - VIR_FREE(pidfile); VIR_FORCE_CLOSE(errfd); virObjectUnref(cfg); return ret; @@ -3388,7 +3376,7 @@ qemuProcessUpdateState(virQEMUDriverPtr driver, virDomainObjPtr vm) int oldReason; int newReason; bool running; - char *msg = NULL; + g_autofree char *msg = NULL; int ret; qemuDomainObjEnterMonitor(driver, vm); @@ -3436,7 +3424,6 @@ qemuProcessUpdateState(virQEMUDriverPtr driver, virDomainObjPtr vm) NULLSTR(msg), virDomainStateTypeToString(newState), virDomainStateReasonToString(newState, newReason)); - VIR_FREE(msg); virDomainObjSetState(vm, newState, newReason); } @@ -3877,7 +3864,7 @@ qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr driver, bool build) { virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); - char *path = NULL; + g_autofree char *path = NULL; size_t i; bool shouldBuildHP = false; bool shouldBuildMB = false; @@ -3910,13 +3897,10 @@ qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr driver, if (qemuProcessBuildDestroyMemoryPathsImpl(driver, vm, path, build) < 0) goto cleanup; - - VIR_FREE(path); } ret = 0; cleanup: - VIR_FREE(path); virObjectUnref(cfg); return ret; } @@ -3928,7 +3912,7 @@ qemuProcessDestroyMemoryBackingPath(virQEMUDriverPtr driver, virDomainMemoryDefPtr mem) { virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); - char *path = NULL; + g_autofree char *path = NULL; int ret = -1; if (qemuGetMemoryBackingPath(vm->def, cfg, mem->info.alias, &path) < 0) @@ -3942,7 +3926,6 @@ qemuProcessDestroyMemoryBackingPath(virQEMUDriverPtr driver, ret = 0; cleanup: - VIR_FREE(path); virObjectUnref(cfg); return ret; } @@ -4077,11 +4060,12 @@ static int qemuProcessVerifyHypervFeatures(virDomainDefPtr def, virCPUDataPtr cpu) { - char *cpuFeature; size_t i; int rc; for (i = 0; i < VIR_DOMAIN_HYPERV_LAST; i++) { + g_autofree char *cpuFeature = NULL; + /* always supported string property */ if (i == VIR_DOMAIN_HYPERV_VENDOR_ID || i == VIR_DOMAIN_HYPERV_SPINLOCKS) @@ -4095,7 +4079,6 @@ qemuProcessVerifyHypervFeatures(virDomainDefPtr def, return -1; rc = virCPUDataCheckFeature(cpu, cpuFeature); - VIR_FREE(cpuFeature); if (rc < 0) { return -1; @@ -4515,17 +4498,17 @@ qemuLogOperation(virDomainObjPtr vm, virCommandPtr cmd, qemuDomainLogContextPtr logCtxt) { - char *timestamp; + g_autofree char *timestamp = NULL; qemuDomainObjPrivatePtr priv = vm->privateData; int qemuVersion = virQEMUCapsGetVersion(priv->qemuCaps); const char *package = virQEMUCapsGetPackage(priv->qemuCaps); - char *hostname = virGetHostname(); + g_autofree char *hostname = virGetHostname(); struct utsname uts; uname(&uts); if ((timestamp = virTimeStringNow()) == NULL) - goto cleanup; + return; if (qemuDomainLogContextWrite(logCtxt, "%s: %s %s, qemu version: %d.%d.%d%s, kernel: %s, hostname: %s\n", @@ -4536,17 +4519,12 @@ qemuLogOperation(virDomainObjPtr vm, NULLSTR_EMPTY(package), uts.release, NULLSTR_EMPTY(hostname)) < 0) - goto cleanup; + return; if (cmd) { - char *args = virCommandToString(cmd, true); + g_autofree char *args = virCommandToString(cmd, true); qemuDomainLogContextWrite(logCtxt, "%s\n", args); - VIR_FREE(args); } - - cleanup: - VIR_FREE(hostname); - VIR_FREE(timestamp); } @@ -4646,7 +4624,7 @@ qemuProcessStartHook(virQEMUDriverPtr driver, virHookSubopType subop) { qemuDomainObjPrivatePtr priv = vm->privateData; - char *xml; + g_autofree char *xml = NULL; int ret; if (!virHookPresent(VIR_HOOK_DRIVER_QEMU)) @@ -4657,7 +4635,6 @@ qemuProcessStartHook(virQEMUDriverPtr driver, ret = virHookCall(VIR_HOOK_DRIVER_QEMU, vm->def->name, op, subop, NULL, xml, NULL); - VIR_FREE(xml); return ret; } @@ -4770,7 +4747,7 @@ qemuProcessGetNetworkAddress(const char *netname, virSocketAddr addr; virSocketAddrPtr addrptr = NULL; char *dev_name = NULL; - char *xml = NULL; + g_autofree char *xml = NULL; *netaddr = NULL; @@ -4852,7 +4829,6 @@ qemuProcessGetNetworkAddress(const char *netname, virNetworkDefFree(netdef); virObjectUnref(net); virObjectUnref(conn); - VIR_FREE(xml); return ret; } @@ -6154,7 +6130,7 @@ qemuProcessPrepareDomainNUMAPlacement(virDomainObjPtr vm, virCapsPtr caps) { qemuDomainObjPrivatePtr priv = vm->privateData; - char *nodeset = NULL; + g_autofree char *nodeset = NULL; virBitmapPtr numadNodeset = NULL; virBitmapPtr hostMemoryNodeset = NULL; int ret = -1; @@ -6192,7 +6168,6 @@ qemuProcessPrepareDomainNUMAPlacement(virDomainObjPtr vm, ret = 0; cleanup: - VIR_FREE(nodeset); virBitmapFree(numadNodeset); virBitmapFree(hostMemoryNodeset); return ret; @@ -6402,7 +6377,7 @@ qemuProcessSEVCreateFile(virDomainObjPtr vm, { qemuDomainObjPrivatePtr priv = vm->privateData; virQEMUDriverPtr driver = priv->driver; - char *configFile; + g_autofree char *configFile = NULL; int ret = -1; if (!(configFile = virFileBuildPath(priv->libDir, name, ".base64"))) @@ -6419,7 +6394,6 @@ qemuProcessSEVCreateFile(virDomainObjPtr vm, ret = 0; cleanup: - VIR_FREE(configFile); return ret; } @@ -6757,7 +6731,7 @@ qemuProcessLaunch(virConnectPtr conn, virQEMUDriverConfigPtr cfg; virCapsPtr caps = NULL; size_t nnicindexes = 0; - int *nicindexes = NULL; + g_autofree int *nicindexes = NULL; size_t i; VIR_DEBUG("conn=%p driver=%p vm=%p name=%s if=%d asyncJob=%d " @@ -7073,7 +7047,6 @@ qemuProcessLaunch(virConnectPtr conn, virObjectUnref(logCtxt); virObjectUnref(cfg); virObjectUnref(caps); - VIR_FREE(nicindexes); return ret; } @@ -7398,7 +7371,7 @@ void qemuProcessStop(virQEMUDriverPtr driver, virDomainDefPtr def; virNetDevVPortProfilePtr vport = NULL; size_t i; - char *timestamp; + g_autofree char *timestamp = NULL; virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); virConnectPtr conn = NULL; @@ -7441,7 +7414,6 @@ void qemuProcessStop(virQEMUDriverPtr driver, qemuDomainLogAppendMessage(driver, vm, "%s: shutting down, reason=%s\n", timestamp, virDomainShutoffReasonTypeToString(reason)); - VIR_FREE(timestamp); } /* Clear network bandwidth */ @@ -7513,13 +7485,12 @@ void qemuProcessStop(virQEMUDriverPtr driver, /* now that we know it's stopped call the hook if present */ if (virHookPresent(VIR_HOOK_DRIVER_QEMU)) { - char *xml = qemuDomainDefFormatXML(driver, NULL, vm->def, 0); + g_autofree char *xml = qemuDomainDefFormatXML(driver, NULL, vm->def, 0); /* we can't stop the operation even if the script raised an error */ ignore_value(virHookCall(VIR_HOOK_DRIVER_QEMU, vm->def->name, VIR_HOOK_QEMU_OP_STOPPED, VIR_HOOK_SUBOP_END, NULL, xml, NULL)); - VIR_FREE(xml); } /* Reset Security Labels unless caller don't want us to */ @@ -7689,13 +7660,12 @@ void qemuProcessStop(virQEMUDriverPtr driver, /* The "release" hook cleans up additional resources */ if (virHookPresent(VIR_HOOK_DRIVER_QEMU)) { - char *xml = qemuDomainDefFormatXML(driver, NULL, vm->def, 0); + g_autofree char *xml = qemuDomainDefFormatXML(driver, NULL, vm->def, 0); /* we can't stop the operation even if the script raised an error */ virHookCall(VIR_HOOK_DRIVER_QEMU, vm->def->name, VIR_HOOK_QEMU_OP_RELEASE, VIR_HOOK_SUBOP_END, NULL, xml, NULL); - VIR_FREE(xml); } virDomainObjRemoveTransientDef(vm); @@ -8248,13 +8218,14 @@ qemuProcessReconnect(void *opaque) /* Run an hook to allow admins to do some magic */ if (virHookPresent(VIR_HOOK_DRIVER_QEMU)) { - char *xml = qemuDomainDefFormatXML(driver, priv->qemuCaps, obj->def, 0); + g_autofree char *xml = qemuDomainDefFormatXML(driver, + priv->qemuCaps, + obj->def, 0); int hookret; hookret = virHookCall(VIR_HOOK_DRIVER_QEMU, obj->def->name, VIR_HOOK_QEMU_OP_RECONNECT, VIR_HOOK_SUBOP_BEGIN, NULL, xml, NULL); - VIR_FREE(xml); /* * If the script raised an error abort the launch -- 2.21.0

Change all feasible pointers to use g_autoptr(). Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- src/qemu/qemu_process.c | 121 +++++++++++++--------------------------- 1 file changed, 40 insertions(+), 81 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index f747cdcc59..6ed69bef27 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -108,7 +108,7 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver, char ebuf[1024]; g_autofree char *file = NULL; qemuDomainObjPrivatePtr priv = vm->privateData; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); int ret = -1; if (virAsprintf(&file, "%s/%s.xml", cfg->stateDir, vm->def->name) < 0) @@ -126,7 +126,6 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver, ret = 0; cleanup: - virObjectUnref(cfg); return ret; } @@ -407,7 +406,7 @@ qemuProcessHandleReset(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; virObjectEventPtr event; qemuDomainObjPrivatePtr priv; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); int ret = -1; virObjectLock(vm); @@ -444,7 +443,6 @@ qemuProcessHandleReset(qemuMonitorPtr mon G_GNUC_UNUSED, cleanup: virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return ret; } @@ -463,7 +461,7 @@ qemuProcessFakeReboot(void *opaque) virDomainObjPtr vm = opaque; qemuDomainObjPrivatePtr priv = vm->privateData; virQEMUDriverPtr driver = priv->driver; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); virDomainRunningReason reason = VIR_DOMAIN_RUNNING_BOOTED; int ret = -1, rc; @@ -513,7 +511,6 @@ qemuProcessFakeReboot(void *opaque) if (ret == -1) ignore_value(qemuProcessKill(vm, VIR_QEMU_PROCESS_KILL_FORCE)); virDomainObjEndAPI(&vm); - virObjectUnref(cfg); } @@ -576,7 +573,7 @@ qemuProcessHandleShutdown(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; qemuDomainObjPrivatePtr priv; virObjectEventPtr event = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); int detail = 0; VIR_DEBUG("vm=%p", vm); @@ -633,7 +630,6 @@ qemuProcessHandleShutdown(qemuMonitorPtr mon G_GNUC_UNUSED, unlock: virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; } @@ -648,7 +644,7 @@ qemuProcessHandleStop(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectEventPtr event = NULL; virDomainPausedReason reason; virDomainEventSuspendedDetailType detail; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); qemuDomainObjPrivatePtr priv = vm->privateData; virObjectLock(vm); @@ -694,7 +690,6 @@ qemuProcessHandleStop(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; } @@ -707,7 +702,7 @@ qemuProcessHandleResume(qemuMonitorPtr mon G_GNUC_UNUSED, { virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); qemuDomainObjPrivatePtr priv; virDomainRunningReason reason = VIR_DOMAIN_RUNNING_UNPAUSED; virDomainEventResumedDetailType eventDetail; @@ -740,7 +735,6 @@ qemuProcessHandleResume(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; } @@ -752,7 +746,7 @@ qemuProcessHandleRTCChange(qemuMonitorPtr mon G_GNUC_UNUSED, { virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); virObjectLock(vm); @@ -784,7 +778,6 @@ qemuProcessHandleRTCChange(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; } @@ -798,7 +791,7 @@ qemuProcessHandleWatchdog(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; virObjectEventPtr watchdogEvent = NULL; virObjectEventPtr lifecycleEvent = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); virObjectLock(vm); watchdogEvent = virDomainEventWatchdogNewFromObj(vm, action); @@ -846,7 +839,6 @@ qemuProcessHandleWatchdog(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, watchdogEvent); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - virObjectUnref(cfg); return 0; } @@ -867,7 +859,7 @@ qemuProcessHandleIOError(qemuMonitorPtr mon G_GNUC_UNUSED, const char *srcPath; const char *devAlias; virDomainDiskDefPtr disk; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); virObjectLock(vm); @@ -918,7 +910,6 @@ qemuProcessHandleIOError(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, ioErrorEvent); virObjectEventStateQueue(driver->domainEventState, ioErrorEvent2); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - virObjectUnref(cfg); return 0; } @@ -1147,7 +1138,7 @@ qemuProcessHandleTrayChange(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; virDomainDiskDefPtr disk; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); virObjectLock(vm); disk = qemuProcessFindDomainDiskByAliasOrQOM(vm, devAlias, devid); @@ -1170,7 +1161,6 @@ qemuProcessHandleTrayChange(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; } @@ -1182,7 +1172,7 @@ qemuProcessHandlePMWakeup(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; virObjectEventPtr lifecycleEvent = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); virObjectLock(vm); event = virDomainEventPMWakeupNewFromObj(vm); @@ -1209,7 +1199,6 @@ qemuProcessHandlePMWakeup(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - virObjectUnref(cfg); return 0; } @@ -1221,7 +1210,7 @@ qemuProcessHandlePMSuspend(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; virObjectEventPtr lifecycleEvent = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); virObjectLock(vm); event = virDomainEventPMSuspendNewFromObj(vm); @@ -1251,7 +1240,6 @@ qemuProcessHandlePMSuspend(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, event); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - virObjectUnref(cfg); return 0; } @@ -1263,7 +1251,7 @@ qemuProcessHandleBalloonChange(qemuMonitorPtr mon G_GNUC_UNUSED, { virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); virObjectLock(vm); event = virDomainEventBalloonChangeNewFromObj(vm, actual); @@ -1278,7 +1266,6 @@ qemuProcessHandleBalloonChange(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; } @@ -1290,7 +1277,7 @@ qemuProcessHandlePMSuspendDisk(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; virObjectEventPtr lifecycleEvent = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); virObjectLock(vm); event = virDomainEventPMSuspendDiskNewFromObj(vm); @@ -1320,7 +1307,6 @@ qemuProcessHandlePMSuspendDisk(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, event); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - virObjectUnref(cfg); return 0; } @@ -1651,7 +1637,7 @@ qemuProcessHandleMigrationStatus(qemuMonitorPtr mon G_GNUC_UNUSED, qemuDomainObjPrivatePtr priv; virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); int reason; virObjectLock(vm); @@ -1690,7 +1676,6 @@ qemuProcessHandleMigrationStatus(qemuMonitorPtr mon G_GNUC_UNUSED, cleanup: virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; } @@ -2743,7 +2728,7 @@ qemuProcessResctrlCreate(virQEMUDriverPtr driver, { int ret = -1; size_t i = 0; - virCapsPtr caps = NULL; + g_autoptr(virCaps) caps = NULL; qemuDomainObjPrivatePtr priv = vm->privateData; if (!vm->def->nresctrls) @@ -2774,7 +2759,6 @@ qemuProcessResctrlCreate(virQEMUDriverPtr driver, ret = 0; cleanup: - virObjectUnref(caps); return ret; } @@ -2848,7 +2832,7 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm) { qemuDomainObjPrivatePtr priv = vm->privateData; virQEMUDriverPtr driver = priv->driver; - virQEMUDriverConfigPtr cfg; + g_autoptr(virQEMUDriverConfig) cfg = NULL; int errfd = -1; g_autofree char *pidfile = NULL; int pidfd = -1; @@ -2960,7 +2944,6 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm) virCommandFree(cmd); VIR_FORCE_CLOSE(pidfd); VIR_FORCE_CLOSE(errfd); - virObjectUnref(cfg); return ret; } @@ -2971,7 +2954,7 @@ qemuProcessInitPasswords(virQEMUDriverPtr driver, int asyncJob) { int ret = 0; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); size_t i; for (i = 0; i < vm->def->ngraphics; ++i) { @@ -2995,7 +2978,6 @@ qemuProcessInitPasswords(virQEMUDriverPtr driver, } cleanup: - virObjectUnref(cfg); return ret; } @@ -3056,7 +3038,7 @@ qemuProcessUpdateVideoRamSize(virQEMUDriverPtr driver, ssize_t i; qemuDomainObjPrivatePtr priv = vm->privateData; virDomainVideoDefPtr video = NULL; - virQEMUDriverConfigPtr cfg = NULL; + g_autoptr(virQEMUDriverConfig) cfg = NULL; if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0) return -1; @@ -3115,7 +3097,6 @@ qemuProcessUpdateVideoRamSize(virQEMUDriverPtr driver, cfg = virQEMUDriverGetConfig(driver); ret = virDomainSaveStatus(driver->xmlopt, cfg->stateDir, vm, driver->caps); - virObjectUnref(cfg); return ret; @@ -3222,7 +3203,7 @@ qemuProcessStartCPUs(virQEMUDriverPtr driver, virDomainObjPtr vm, { int ret = -1; qemuDomainObjPrivatePtr priv = vm->privateData; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); /* Bring up netdevs before starting CPUs */ if (qemuInterfaceStartDevices(vm->def) < 0) @@ -3257,7 +3238,6 @@ qemuProcessStartCPUs(virQEMUDriverPtr driver, virDomainObjPtr vm, */ cleanup: - virObjectUnref(cfg); return ret; release: @@ -3319,7 +3299,7 @@ static void qemuProcessNotifyNets(virDomainDefPtr def) { size_t i; - virConnectPtr conn = NULL; + g_autoptr(virConnect) conn = NULL; for (i = 0; i < def->nnets; i++) { virDomainNetDefPtr net = def->nets[i]; @@ -3337,8 +3317,6 @@ qemuProcessNotifyNets(virDomainDefPtr def) virDomainNetNotifyActualDevice(conn, def, net); } } - - virObjectUnref(conn); } /* Attempt to instantiate the filters. Ignore failures because it's @@ -3863,7 +3841,7 @@ qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr driver, virDomainMemoryDefPtr mem, bool build) { - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); g_autofree char *path = NULL; size_t i; bool shouldBuildHP = false; @@ -3901,7 +3879,6 @@ qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr driver, ret = 0; cleanup: - virObjectUnref(cfg); return ret; } @@ -3911,7 +3888,7 @@ qemuProcessDestroyMemoryBackingPath(virQEMUDriverPtr driver, virDomainObjPtr vm, virDomainMemoryDefPtr mem) { - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); g_autofree char *path = NULL; int ret = -1; @@ -3926,7 +3903,6 @@ qemuProcessDestroyMemoryBackingPath(virQEMUDriverPtr driver, ret = 0; cleanup: - virObjectUnref(cfg); return ret; } @@ -3966,7 +3942,7 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver, virDomainGraphicsDefPtr graphics, bool allocate) { - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); unsigned short port = 0; unsigned short tlsPort; size_t i; @@ -4051,7 +4027,6 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver, ret = 0; cleanup: - virObjectUnref(cfg); return ret; } @@ -4739,9 +4714,9 @@ static int qemuProcessGetNetworkAddress(const char *netname, char **netaddr) { - virConnectPtr conn = NULL; + g_autoptr(virConnect) conn = NULL; int ret = -1; - virNetworkPtr net; + g_autoptr(virNetwork) net = NULL; virNetworkDefPtr netdef = NULL; virNetworkIPDefPtr ipdef; virSocketAddr addr; @@ -4827,8 +4802,6 @@ qemuProcessGetNetworkAddress(const char *netname, ret = 0; cleanup: virNetworkDefFree(netdef); - virObjectUnref(net); - virObjectUnref(conn); return ret; } @@ -4866,7 +4839,7 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr driver, virDomainObjPtr vm) { qemuDomainObjPrivatePtr priv = vm->privateData; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); const char *type = virDomainGraphicsTypeToString(graphics->type); char *listenAddr = NULL; bool useSocket = false; @@ -4943,7 +4916,6 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr driver, ret = 0; cleanup: - virObjectUnref(cfg); return ret; } @@ -5580,7 +5552,7 @@ qemuProcessInit(virQEMUDriverPtr driver, bool migration, unsigned int flags) { - virCapsPtr caps = NULL; + g_autoptr(virCaps) caps = NULL; qemuDomainObjPrivatePtr priv = vm->privateData; int stopFlags; virCPUDefPtr origCPU = NULL; @@ -5663,7 +5635,6 @@ qemuProcessInit(virQEMUDriverPtr driver, cleanup: virCPUDefFree(origCPU); - virObjectUnref(caps); return ret; stop: @@ -5686,7 +5657,7 @@ qemuProcessNetworkPrepareDevices(virQEMUDriverPtr driver, qemuDomainObjPrivatePtr priv = vm->privateData; int ret = -1; size_t i; - virConnectPtr conn = NULL; + g_autoptr(virConnect) conn = NULL; for (i = 0; i < def->nnets; i++) { virDomainNetDefPtr net = def->nets[i]; @@ -5739,7 +5710,6 @@ qemuProcessNetworkPrepareDevices(virQEMUDriverPtr driver, } ret = 0; cleanup: - virObjectUnref(conn); return ret; } @@ -6247,8 +6217,8 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver, int ret = -1; size_t i; qemuDomainObjPrivatePtr priv = vm->privateData; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); - virCapsPtr caps; + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virCaps) caps = NULL; if (!(caps = virQEMUDriverGetCapabilities(driver, false))) goto cleanup; @@ -6364,8 +6334,6 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver, ret = 0; cleanup: - virObjectUnref(caps); - virObjectUnref(cfg); return ret; } @@ -6524,7 +6492,7 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver, int ret = -1; unsigned int hostdev_flags = 0; qemuDomainObjPrivatePtr priv = vm->privateData; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); if (qemuPrepareNVRAM(cfg, vm) < 0) goto cleanup; @@ -6613,7 +6581,6 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver, ret = 0; cleanup: - virObjectUnref(cfg); return ret; } @@ -6728,8 +6695,8 @@ qemuProcessLaunch(virConnectPtr conn, qemuDomainObjPrivatePtr priv = vm->privateData; virCommandPtr cmd = NULL; struct qemuProcessHookData hookData; - virQEMUDriverConfigPtr cfg; - virCapsPtr caps = NULL; + g_autoptr(virQEMUDriverConfig) cfg = NULL; + g_autoptr(virCaps) caps = NULL; size_t nnicindexes = 0; g_autofree int *nicindexes = NULL; size_t i; @@ -7045,8 +7012,6 @@ qemuProcessLaunch(virConnectPtr conn, qemuDomainSecretDestroy(vm); virCommandFree(cmd); virObjectUnref(logCtxt); - virObjectUnref(cfg); - virObjectUnref(caps); return ret; } @@ -7103,8 +7068,8 @@ qemuProcessFinishStartup(virQEMUDriverPtr driver, bool startCPUs, virDomainPausedReason pausedReason) { - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); int ret = -1; + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); if (startCPUs) { VIR_DEBUG("Starting domain CPUs"); @@ -7132,7 +7097,6 @@ qemuProcessFinishStartup(virQEMUDriverPtr driver, ret = 0; cleanup: - virObjectUnref(cfg); return ret; } @@ -7372,8 +7336,8 @@ void qemuProcessStop(virQEMUDriverPtr driver, virNetDevVPortProfilePtr vport = NULL; size_t i; g_autofree char *timestamp = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); - virConnectPtr conn = NULL; + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virConnect) conn = NULL; VIR_DEBUG("Shutting down vm=%p name=%s id=%d pid=%lld, " "reason=%s, asyncJob=%s, flags=0x%x", @@ -7676,8 +7640,6 @@ void qemuProcessStop(virQEMUDriverPtr driver, cleanup: virErrorRestore(&orig_err); - virObjectUnref(conn); - virObjectUnref(cfg); } @@ -7812,7 +7774,7 @@ static int qemuProcessRefreshCPU(virQEMUDriverPtr driver, virDomainObjPtr vm) { - virCapsPtr caps = virQEMUDriverGetCapabilities(driver, false); + g_autoptr(virCaps) caps = virQEMUDriverGetCapabilities(driver, false); qemuDomainObjPrivatePtr priv = vm->privateData; virCPUDefPtr host = NULL; virCPUDefPtr cpu = NULL; @@ -7863,7 +7825,6 @@ qemuProcessRefreshCPU(virQEMUDriverPtr driver, cleanup: virCPUDefFree(cpu); virCPUDefFree(host); - virObjectUnref(caps); return ret; } @@ -7999,11 +7960,11 @@ qemuProcessReconnect(void *opaque) qemuDomainJobObj oldjob; int state; int reason; - virQEMUDriverConfigPtr cfg; + g_autoptr(virQEMUDriverConfig) cfg = NULL; size_t i; unsigned int stopFlags = 0; bool jobStarted = false; - virCapsPtr caps = NULL; + g_autoptr(virCaps) caps = NULL; bool retry = true; bool tryMonReconn = false; @@ -8247,8 +8208,6 @@ qemuProcessReconnect(void *opaque) qemuDomainRemoveInactiveJob(driver, obj); } virDomainObjEndAPI(&obj); - virObjectUnref(cfg); - virObjectUnref(caps); virNWFilterUnlockFilterUpdates(); virIdentitySetCurrent(NULL); return; -- 2.21.0

On Thu, 2019-10-17 at 09:46 -0300, Daniel Henrique Barboza wrote:
Change all feasible pointers to use g_autoptr().
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- src/qemu/qemu_process.c | 121 +++++++++++++------------------------- -- 1 file changed, 40 insertions(+), 81 deletions(-)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index f747cdcc59..6ed69bef27 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -108,7 +108,7 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver, char ebuf[1024]; g_autofree char *file = NULL; qemuDomainObjPrivatePtr priv = vm->privateData; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); int ret = -1;
if (virAsprintf(&file, "%s/%s.xml", cfg->stateDir, vm->def-
name) < 0) @@ -126,7 +126,6 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver,
ret = 0; cleanup: - virObjectUnref(cfg);
It seems to me that if you're removing everything except the return from the "cleanup" label, there is no longer any use for the 'goto cleanup' statement. You can replace it with a straight return. There are quite a few similar cases below.
return ret; }
@@ -407,7 +406,7 @@ qemuProcessHandleReset(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; virObjectEventPtr event; qemuDomainObjPrivatePtr priv; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); int ret = -1;
virObjectLock(vm); @@ -444,7 +443,6 @@ qemuProcessHandleReset(qemuMonitorPtr mon G_GNUC_UNUSED, cleanup: virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return ret; }
@@ -463,7 +461,7 @@ qemuProcessFakeReboot(void *opaque) virDomainObjPtr vm = opaque; qemuDomainObjPrivatePtr priv = vm->privateData; virQEMUDriverPtr driver = priv->driver; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); virDomainRunningReason reason = VIR_DOMAIN_RUNNING_BOOTED; int ret = -1, rc;
@@ -513,7 +511,6 @@ qemuProcessFakeReboot(void *opaque) if (ret == -1) ignore_value(qemuProcessKill(vm, VIR_QEMU_PROCESS_KILL_FORCE)); virDomainObjEndAPI(&vm); - virObjectUnref(cfg); }
@@ -576,7 +573,7 @@ qemuProcessHandleShutdown(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; qemuDomainObjPrivatePtr priv; virObjectEventPtr event = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); int detail = 0;
VIR_DEBUG("vm=%p", vm); @@ -633,7 +630,6 @@ qemuProcessHandleShutdown(qemuMonitorPtr mon G_GNUC_UNUSED, unlock: virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg);
return 0; } @@ -648,7 +644,7 @@ qemuProcessHandleStop(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectEventPtr event = NULL; virDomainPausedReason reason; virDomainEventSuspendedDetailType detail; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); qemuDomainObjPrivatePtr priv = vm->privateData;
virObjectLock(vm); @@ -694,7 +690,6 @@ qemuProcessHandleStop(qemuMonitorPtr mon G_GNUC_UNUSED,
virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg);
return 0; } @@ -707,7 +702,7 @@ qemuProcessHandleResume(qemuMonitorPtr mon G_GNUC_UNUSED, { virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); qemuDomainObjPrivatePtr priv; virDomainRunningReason reason = VIR_DOMAIN_RUNNING_UNPAUSED; virDomainEventResumedDetailType eventDetail; @@ -740,7 +735,6 @@ qemuProcessHandleResume(qemuMonitorPtr mon G_GNUC_UNUSED,
virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; }
@@ -752,7 +746,7 @@ qemuProcessHandleRTCChange(qemuMonitorPtr mon G_GNUC_UNUSED, { virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
virObjectLock(vm);
@@ -784,7 +778,6 @@ qemuProcessHandleRTCChange(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectUnlock(vm);
virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; }
@@ -798,7 +791,7 @@ qemuProcessHandleWatchdog(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; virObjectEventPtr watchdogEvent = NULL; virObjectEventPtr lifecycleEvent = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
virObjectLock(vm); watchdogEvent = virDomainEventWatchdogNewFromObj(vm, action); @@ -846,7 +839,6 @@ qemuProcessHandleWatchdog(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, watchdogEvent); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent);
- virObjectUnref(cfg); return 0; }
@@ -867,7 +859,7 @@ qemuProcessHandleIOError(qemuMonitorPtr mon G_GNUC_UNUSED, const char *srcPath; const char *devAlias; virDomainDiskDefPtr disk; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
virObjectLock(vm);
@@ -918,7 +910,6 @@ qemuProcessHandleIOError(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, ioErrorEvent); virObjectEventStateQueue(driver->domainEventState, ioErrorEvent2); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - virObjectUnref(cfg); return 0; }
@@ -1147,7 +1138,7 @@ qemuProcessHandleTrayChange(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; virDomainDiskDefPtr disk; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
virObjectLock(vm); disk = qemuProcessFindDomainDiskByAliasOrQOM(vm, devAlias, devid); @@ -1170,7 +1161,6 @@ qemuProcessHandleTrayChange(qemuMonitorPtr mon G_GNUC_UNUSED,
virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; }
@@ -1182,7 +1172,7 @@ qemuProcessHandlePMWakeup(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; virObjectEventPtr lifecycleEvent = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
virObjectLock(vm); event = virDomainEventPMWakeupNewFromObj(vm); @@ -1209,7 +1199,6 @@ qemuProcessHandlePMWakeup(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - virObjectUnref(cfg); return 0; }
@@ -1221,7 +1210,7 @@ qemuProcessHandlePMSuspend(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; virObjectEventPtr lifecycleEvent = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
virObjectLock(vm); event = virDomainEventPMSuspendNewFromObj(vm); @@ -1251,7 +1240,6 @@ qemuProcessHandlePMSuspend(qemuMonitorPtr mon G_GNUC_UNUSED,
virObjectEventStateQueue(driver->domainEventState, event); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - virObjectUnref(cfg); return 0; }
@@ -1263,7 +1251,7 @@ qemuProcessHandleBalloonChange(qemuMonitorPtr mon G_GNUC_UNUSED, { virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
virObjectLock(vm); event = virDomainEventBalloonChangeNewFromObj(vm, actual); @@ -1278,7 +1266,6 @@ qemuProcessHandleBalloonChange(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectUnlock(vm);
virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; }
@@ -1290,7 +1277,7 @@ qemuProcessHandlePMSuspendDisk(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; virObjectEventPtr lifecycleEvent = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
virObjectLock(vm); event = virDomainEventPMSuspendDiskNewFromObj(vm); @@ -1320,7 +1307,6 @@ qemuProcessHandlePMSuspendDisk(qemuMonitorPtr mon G_GNUC_UNUSED,
virObjectEventStateQueue(driver->domainEventState, event); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - virObjectUnref(cfg);
return 0; } @@ -1651,7 +1637,7 @@ qemuProcessHandleMigrationStatus(qemuMonitorPtr mon G_GNUC_UNUSED, qemuDomainObjPrivatePtr priv; virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); int reason;
virObjectLock(vm); @@ -1690,7 +1676,6 @@ qemuProcessHandleMigrationStatus(qemuMonitorPtr mon G_GNUC_UNUSED, cleanup: virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; }
@@ -2743,7 +2728,7 @@ qemuProcessResctrlCreate(virQEMUDriverPtr driver, { int ret = -1; size_t i = 0; - virCapsPtr caps = NULL; + g_autoptr(virCaps) caps = NULL; qemuDomainObjPrivatePtr priv = vm->privateData;
if (!vm->def->nresctrls) @@ -2774,7 +2759,6 @@ qemuProcessResctrlCreate(virQEMUDriverPtr driver,
ret = 0; cleanup: - virObjectUnref(caps); return ret; }
@@ -2848,7 +2832,7 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm) { qemuDomainObjPrivatePtr priv = vm->privateData; virQEMUDriverPtr driver = priv->driver; - virQEMUDriverConfigPtr cfg; + g_autoptr(virQEMUDriverConfig) cfg = NULL; int errfd = -1; g_autofree char *pidfile = NULL; int pidfd = -1; @@ -2960,7 +2944,6 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm) virCommandFree(cmd); VIR_FORCE_CLOSE(pidfd); VIR_FORCE_CLOSE(errfd); - virObjectUnref(cfg); return ret; }
@@ -2971,7 +2954,7 @@ qemuProcessInitPasswords(virQEMUDriverPtr driver, int asyncJob) { int ret = 0; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); size_t i;
for (i = 0; i < vm->def->ngraphics; ++i) { @@ -2995,7 +2978,6 @@ qemuProcessInitPasswords(virQEMUDriverPtr driver, }
cleanup: - virObjectUnref(cfg); return ret; }
@@ -3056,7 +3038,7 @@ qemuProcessUpdateVideoRamSize(virQEMUDriverPtr driver, ssize_t i; qemuDomainObjPrivatePtr priv = vm->privateData; virDomainVideoDefPtr video = NULL; - virQEMUDriverConfigPtr cfg = NULL; + g_autoptr(virQEMUDriverConfig) cfg = NULL;
if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0) return -1; @@ -3115,7 +3097,6 @@ qemuProcessUpdateVideoRamSize(virQEMUDriverPtr driver,
cfg = virQEMUDriverGetConfig(driver); ret = virDomainSaveStatus(driver->xmlopt, cfg->stateDir, vm, driver->caps); - virObjectUnref(cfg);
return ret;
Here you could just get rid of the local 'ret' value altogether and return the value from the function call virDomainSaveStatus()
@@ -3222,7 +3203,7 @@ qemuProcessStartCPUs(virQEMUDriverPtr driver, virDomainObjPtr vm, { int ret = -1; qemuDomainObjPrivatePtr priv = vm->privateData; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
/* Bring up netdevs before starting CPUs */ if (qemuInterfaceStartDevices(vm->def) < 0) @@ -3257,7 +3238,6 @@ qemuProcessStartCPUs(virQEMUDriverPtr driver, virDomainObjPtr vm, */
cleanup: - virObjectUnref(cfg); return ret;
release: @@ -3319,7 +3299,7 @@ static void qemuProcessNotifyNets(virDomainDefPtr def) { size_t i; - virConnectPtr conn = NULL; + g_autoptr(virConnect) conn = NULL;
for (i = 0; i < def->nnets; i++) { virDomainNetDefPtr net = def->nets[i]; @@ -3337,8 +3317,6 @@ qemuProcessNotifyNets(virDomainDefPtr def) virDomainNetNotifyActualDevice(conn, def, net); } } - - virObjectUnref(conn); }
/* Attempt to instantiate the filters. Ignore failures because it's @@ -3863,7 +3841,7 @@ qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr driver, virDomainMemoryDefPtr mem, bool build) { - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); g_autofree char *path = NULL; size_t i; bool shouldBuildHP = false; @@ -3901,7 +3879,6 @@ qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr driver,
ret = 0; cleanup: - virObjectUnref(cfg); return ret; }
@@ -3911,7 +3888,7 @@ qemuProcessDestroyMemoryBackingPath(virQEMUDriverPtr driver, virDomainObjPtr vm, virDomainMemoryDefPtr mem) { - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); g_autofree char *path = NULL; int ret = -1;
@@ -3926,7 +3903,6 @@ qemuProcessDestroyMemoryBackingPath(virQEMUDriverPtr driver,
ret = 0; cleanup: - virObjectUnref(cfg); return ret; }
@@ -3966,7 +3942,7 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver, virDomainGraphicsDefPtr graphics, bool allocate) { - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); unsigned short port = 0; unsigned short tlsPort; size_t i; @@ -4051,7 +4027,6 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver, ret = 0;
cleanup: - virObjectUnref(cfg); return ret; }
@@ -4739,9 +4714,9 @@ static int qemuProcessGetNetworkAddress(const char *netname, char **netaddr) { - virConnectPtr conn = NULL; + g_autoptr(virConnect) conn = NULL; int ret = -1; - virNetworkPtr net; + g_autoptr(virNetwork) net = NULL; virNetworkDefPtr netdef = NULL; virNetworkIPDefPtr ipdef; virSocketAddr addr; @@ -4827,8 +4802,6 @@ qemuProcessGetNetworkAddress(const char *netname, ret = 0; cleanup: virNetworkDefFree(netdef);
If you defined an autoptr cleanup function for virNetworkDef, you could get rid of the goto in this function as well. e.g.: G_DEFINE_AUTOPTR_CLEANUP_FUNC(virNetworkDef, virNetworkDefFree); Perhaps that's outside the scope of this cleanup patch though.
- virObjectUnref(net); - virObjectUnref(conn); return ret; }
@@ -4866,7 +4839,7 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr driver, virDomainObjPtr vm) { qemuDomainObjPrivatePtr priv = vm->privateData; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); const char *type = virDomainGraphicsTypeToString(graphics-
type); char *listenAddr = NULL; bool useSocket = false; @@ -4943,7 +4916,6 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr driver, ret = 0;
cleanup: - virObjectUnref(cfg); return ret; }
@@ -5580,7 +5552,7 @@ qemuProcessInit(virQEMUDriverPtr driver, bool migration, unsigned int flags) { - virCapsPtr caps = NULL; + g_autoptr(virCaps) caps = NULL; qemuDomainObjPrivatePtr priv = vm->privateData; int stopFlags; virCPUDefPtr origCPU = NULL; @@ -5663,7 +5635,6 @@ qemuProcessInit(virQEMUDriverPtr driver,
cleanup: virCPUDefFree(origCPU); - virObjectUnref(caps);
similar here
return ret;
stop: @@ -5686,7 +5657,7 @@ qemuProcessNetworkPrepareDevices(virQEMUDriverPtr driver, qemuDomainObjPrivatePtr priv = vm->privateData; int ret = -1; size_t i; - virConnectPtr conn = NULL; + g_autoptr(virConnect) conn = NULL;
for (i = 0; i < def->nnets; i++) { virDomainNetDefPtr net = def->nets[i]; @@ -5739,7 +5710,6 @@ qemuProcessNetworkPrepareDevices(virQEMUDriverPtr driver, } ret = 0; cleanup: - virObjectUnref(conn); return ret; }
@@ -6247,8 +6217,8 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver, int ret = -1; size_t i; qemuDomainObjPrivatePtr priv = vm->privateData; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); - virCapsPtr caps; + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virCaps) caps = NULL;
if (!(caps = virQEMUDriverGetCapabilities(driver, false))) goto cleanup; @@ -6364,8 +6334,6 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver,
ret = 0; cleanup: - virObjectUnref(caps); - virObjectUnref(cfg); return ret; }
@@ -6524,7 +6492,7 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver, int ret = -1; unsigned int hostdev_flags = 0; qemuDomainObjPrivatePtr priv = vm->privateData; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
if (qemuPrepareNVRAM(cfg, vm) < 0) goto cleanup; @@ -6613,7 +6581,6 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver,
ret = 0; cleanup: - virObjectUnref(cfg); return ret; }
@@ -6728,8 +6695,8 @@ qemuProcessLaunch(virConnectPtr conn, qemuDomainObjPrivatePtr priv = vm->privateData; virCommandPtr cmd = NULL; struct qemuProcessHookData hookData; - virQEMUDriverConfigPtr cfg; - virCapsPtr caps = NULL; + g_autoptr(virQEMUDriverConfig) cfg = NULL; + g_autoptr(virCaps) caps = NULL; size_t nnicindexes = 0; g_autofree int *nicindexes = NULL; size_t i; @@ -7045,8 +7012,6 @@ qemuProcessLaunch(virConnectPtr conn, qemuDomainSecretDestroy(vm); virCommandFree(cmd); virObjectUnref(logCtxt); - virObjectUnref(cfg); - virObjectUnref(caps); return ret; }
@@ -7103,8 +7068,8 @@ qemuProcessFinishStartup(virQEMUDriverPtr driver, bool startCPUs, virDomainPausedReason pausedReason) { - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); int ret = -1; + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
if (startCPUs) { VIR_DEBUG("Starting domain CPUs"); @@ -7132,7 +7097,6 @@ qemuProcessFinishStartup(virQEMUDriverPtr driver, ret = 0;
cleanup: - virObjectUnref(cfg); return ret; }
@@ -7372,8 +7336,8 @@ void qemuProcessStop(virQEMUDriverPtr driver, virNetDevVPortProfilePtr vport = NULL; size_t i; g_autofree char *timestamp = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); - virConnectPtr conn = NULL; + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virConnect) conn = NULL;
VIR_DEBUG("Shutting down vm=%p name=%s id=%d pid=%lld, " "reason=%s, asyncJob=%s, flags=0x%x", @@ -7676,8 +7640,6 @@ void qemuProcessStop(virQEMUDriverPtr driver,
cleanup: virErrorRestore(&orig_err); - virObjectUnref(conn); - virObjectUnref(cfg); }
@@ -7812,7 +7774,7 @@ static int qemuProcessRefreshCPU(virQEMUDriverPtr driver, virDomainObjPtr vm) { - virCapsPtr caps = virQEMUDriverGetCapabilities(driver, false); + g_autoptr(virCaps) caps = virQEMUDriverGetCapabilities(driver, false); qemuDomainObjPrivatePtr priv = vm->privateData; virCPUDefPtr host = NULL; virCPUDefPtr cpu = NULL; @@ -7863,7 +7825,6 @@ qemuProcessRefreshCPU(virQEMUDriverPtr driver, cleanup: virCPUDefFree(cpu); virCPUDefFree(host); - virObjectUnref(caps); return ret; }
@@ -7999,11 +7960,11 @@ qemuProcessReconnect(void *opaque) qemuDomainJobObj oldjob; int state; int reason; - virQEMUDriverConfigPtr cfg; + g_autoptr(virQEMUDriverConfig) cfg = NULL; size_t i; unsigned int stopFlags = 0; bool jobStarted = false; - virCapsPtr caps = NULL; + g_autoptr(virCaps) caps = NULL; bool retry = true; bool tryMonReconn = false;
@@ -8247,8 +8208,6 @@ qemuProcessReconnect(void *opaque) qemuDomainRemoveInactiveJob(driver, obj); } virDomainObjEndAPI(&obj); - virObjectUnref(cfg); - virObjectUnref(caps); virNWFilterUnlockFilterUpdates(); virIdentitySetCurrent(NULL); return;

On 10/17/19 5:03 PM, Jonathon Jongsma wrote:
On Thu, 2019-10-17 at 09:46 -0300, Daniel Henrique Barboza wrote:
Change all feasible pointers to use g_autoptr().
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- src/qemu/qemu_process.c | 121 +++++++++++++------------------------- -- 1 file changed, 40 insertions(+), 81 deletions(-)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index f747cdcc59..6ed69bef27 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -108,7 +108,7 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver, char ebuf[1024]; g_autofree char *file = NULL; qemuDomainObjPrivatePtr priv = vm->privateData; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); int ret = -1;
if (virAsprintf(&file, "%s/%s.xml", cfg->stateDir, vm->def-
name) < 0) @@ -126,7 +126,6 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver,
ret = 0; cleanup: - virObjectUnref(cfg);
It seems to me that if you're removing everything except the return from the "cleanup" label, there is no longer any use for the 'goto cleanup' statement. You can replace it with a straight return. There are quite a few similar cases below.
This is being done in the next patch. This separation was given as a feedback from the qemu_driver.c changes, where separating the 'cleanup' label removal from the auto* changes makes it easier to review. Thanks, DHB
return ret; }
@@ -407,7 +406,7 @@ qemuProcessHandleReset(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; virObjectEventPtr event; qemuDomainObjPrivatePtr priv; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); int ret = -1;
virObjectLock(vm); @@ -444,7 +443,6 @@ qemuProcessHandleReset(qemuMonitorPtr mon G_GNUC_UNUSED, cleanup: virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return ret; }
@@ -463,7 +461,7 @@ qemuProcessFakeReboot(void *opaque) virDomainObjPtr vm = opaque; qemuDomainObjPrivatePtr priv = vm->privateData; virQEMUDriverPtr driver = priv->driver; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); virDomainRunningReason reason = VIR_DOMAIN_RUNNING_BOOTED; int ret = -1, rc;
@@ -513,7 +511,6 @@ qemuProcessFakeReboot(void *opaque) if (ret == -1) ignore_value(qemuProcessKill(vm, VIR_QEMU_PROCESS_KILL_FORCE)); virDomainObjEndAPI(&vm); - virObjectUnref(cfg); }
@@ -576,7 +573,7 @@ qemuProcessHandleShutdown(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; qemuDomainObjPrivatePtr priv; virObjectEventPtr event = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); int detail = 0;
VIR_DEBUG("vm=%p", vm); @@ -633,7 +630,6 @@ qemuProcessHandleShutdown(qemuMonitorPtr mon G_GNUC_UNUSED, unlock: virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg);
return 0; } @@ -648,7 +644,7 @@ qemuProcessHandleStop(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectEventPtr event = NULL; virDomainPausedReason reason; virDomainEventSuspendedDetailType detail; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); qemuDomainObjPrivatePtr priv = vm->privateData;
virObjectLock(vm); @@ -694,7 +690,6 @@ qemuProcessHandleStop(qemuMonitorPtr mon G_GNUC_UNUSED,
virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg);
return 0; } @@ -707,7 +702,7 @@ qemuProcessHandleResume(qemuMonitorPtr mon G_GNUC_UNUSED, { virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); qemuDomainObjPrivatePtr priv; virDomainRunningReason reason = VIR_DOMAIN_RUNNING_UNPAUSED; virDomainEventResumedDetailType eventDetail; @@ -740,7 +735,6 @@ qemuProcessHandleResume(qemuMonitorPtr mon G_GNUC_UNUSED,
virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; }
@@ -752,7 +746,7 @@ qemuProcessHandleRTCChange(qemuMonitorPtr mon G_GNUC_UNUSED, { virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
virObjectLock(vm);
@@ -784,7 +778,6 @@ qemuProcessHandleRTCChange(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectUnlock(vm);
virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; }
@@ -798,7 +791,7 @@ qemuProcessHandleWatchdog(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; virObjectEventPtr watchdogEvent = NULL; virObjectEventPtr lifecycleEvent = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
virObjectLock(vm); watchdogEvent = virDomainEventWatchdogNewFromObj(vm, action); @@ -846,7 +839,6 @@ qemuProcessHandleWatchdog(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, watchdogEvent); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent);
- virObjectUnref(cfg); return 0; }
@@ -867,7 +859,7 @@ qemuProcessHandleIOError(qemuMonitorPtr mon G_GNUC_UNUSED, const char *srcPath; const char *devAlias; virDomainDiskDefPtr disk; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
virObjectLock(vm);
@@ -918,7 +910,6 @@ qemuProcessHandleIOError(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, ioErrorEvent); virObjectEventStateQueue(driver->domainEventState, ioErrorEvent2); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - virObjectUnref(cfg); return 0; }
@@ -1147,7 +1138,7 @@ qemuProcessHandleTrayChange(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; virDomainDiskDefPtr disk; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
virObjectLock(vm); disk = qemuProcessFindDomainDiskByAliasOrQOM(vm, devAlias, devid); @@ -1170,7 +1161,6 @@ qemuProcessHandleTrayChange(qemuMonitorPtr mon G_GNUC_UNUSED,
virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; }
@@ -1182,7 +1172,7 @@ qemuProcessHandlePMWakeup(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; virObjectEventPtr lifecycleEvent = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
virObjectLock(vm); event = virDomainEventPMWakeupNewFromObj(vm); @@ -1209,7 +1199,6 @@ qemuProcessHandlePMWakeup(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - virObjectUnref(cfg); return 0; }
@@ -1221,7 +1210,7 @@ qemuProcessHandlePMSuspend(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; virObjectEventPtr lifecycleEvent = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
virObjectLock(vm); event = virDomainEventPMSuspendNewFromObj(vm); @@ -1251,7 +1240,6 @@ qemuProcessHandlePMSuspend(qemuMonitorPtr mon G_GNUC_UNUSED,
virObjectEventStateQueue(driver->domainEventState, event); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - virObjectUnref(cfg); return 0; }
@@ -1263,7 +1251,7 @@ qemuProcessHandleBalloonChange(qemuMonitorPtr mon G_GNUC_UNUSED, { virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
virObjectLock(vm); event = virDomainEventBalloonChangeNewFromObj(vm, actual); @@ -1278,7 +1266,6 @@ qemuProcessHandleBalloonChange(qemuMonitorPtr mon G_GNUC_UNUSED, virObjectUnlock(vm);
virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; }
@@ -1290,7 +1277,7 @@ qemuProcessHandlePMSuspendDisk(qemuMonitorPtr mon G_GNUC_UNUSED, virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; virObjectEventPtr lifecycleEvent = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
virObjectLock(vm); event = virDomainEventPMSuspendDiskNewFromObj(vm); @@ -1320,7 +1307,6 @@ qemuProcessHandlePMSuspendDisk(qemuMonitorPtr mon G_GNUC_UNUSED,
virObjectEventStateQueue(driver->domainEventState, event); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - virObjectUnref(cfg);
return 0; } @@ -1651,7 +1637,7 @@ qemuProcessHandleMigrationStatus(qemuMonitorPtr mon G_GNUC_UNUSED, qemuDomainObjPrivatePtr priv; virQEMUDriverPtr driver = opaque; virObjectEventPtr event = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); int reason;
virObjectLock(vm); @@ -1690,7 +1676,6 @@ qemuProcessHandleMigrationStatus(qemuMonitorPtr mon G_GNUC_UNUSED, cleanup: virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; }
@@ -2743,7 +2728,7 @@ qemuProcessResctrlCreate(virQEMUDriverPtr driver, { int ret = -1; size_t i = 0; - virCapsPtr caps = NULL; + g_autoptr(virCaps) caps = NULL; qemuDomainObjPrivatePtr priv = vm->privateData;
if (!vm->def->nresctrls) @@ -2774,7 +2759,6 @@ qemuProcessResctrlCreate(virQEMUDriverPtr driver,
ret = 0; cleanup: - virObjectUnref(caps); return ret; }
@@ -2848,7 +2832,7 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm) { qemuDomainObjPrivatePtr priv = vm->privateData; virQEMUDriverPtr driver = priv->driver; - virQEMUDriverConfigPtr cfg; + g_autoptr(virQEMUDriverConfig) cfg = NULL; int errfd = -1; g_autofree char *pidfile = NULL; int pidfd = -1; @@ -2960,7 +2944,6 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm) virCommandFree(cmd); VIR_FORCE_CLOSE(pidfd); VIR_FORCE_CLOSE(errfd); - virObjectUnref(cfg); return ret; }
@@ -2971,7 +2954,7 @@ qemuProcessInitPasswords(virQEMUDriverPtr driver, int asyncJob) { int ret = 0; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); size_t i;
for (i = 0; i < vm->def->ngraphics; ++i) { @@ -2995,7 +2978,6 @@ qemuProcessInitPasswords(virQEMUDriverPtr driver, }
cleanup: - virObjectUnref(cfg); return ret; }
@@ -3056,7 +3038,7 @@ qemuProcessUpdateVideoRamSize(virQEMUDriverPtr driver, ssize_t i; qemuDomainObjPrivatePtr priv = vm->privateData; virDomainVideoDefPtr video = NULL; - virQEMUDriverConfigPtr cfg = NULL; + g_autoptr(virQEMUDriverConfig) cfg = NULL;
if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0) return -1; @@ -3115,7 +3097,6 @@ qemuProcessUpdateVideoRamSize(virQEMUDriverPtr driver,
cfg = virQEMUDriverGetConfig(driver); ret = virDomainSaveStatus(driver->xmlopt, cfg->stateDir, vm, driver->caps); - virObjectUnref(cfg);
return ret;
Here you could just get rid of the local 'ret' value altogether and return the value from the function call virDomainSaveStatus()
@@ -3222,7 +3203,7 @@ qemuProcessStartCPUs(virQEMUDriverPtr driver, virDomainObjPtr vm, { int ret = -1; qemuDomainObjPrivatePtr priv = vm->privateData; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
/* Bring up netdevs before starting CPUs */ if (qemuInterfaceStartDevices(vm->def) < 0) @@ -3257,7 +3238,6 @@ qemuProcessStartCPUs(virQEMUDriverPtr driver, virDomainObjPtr vm, */
cleanup: - virObjectUnref(cfg); return ret;
release: @@ -3319,7 +3299,7 @@ static void qemuProcessNotifyNets(virDomainDefPtr def) { size_t i; - virConnectPtr conn = NULL; + g_autoptr(virConnect) conn = NULL;
for (i = 0; i < def->nnets; i++) { virDomainNetDefPtr net = def->nets[i]; @@ -3337,8 +3317,6 @@ qemuProcessNotifyNets(virDomainDefPtr def) virDomainNetNotifyActualDevice(conn, def, net); } } - - virObjectUnref(conn); }
/* Attempt to instantiate the filters. Ignore failures because it's @@ -3863,7 +3841,7 @@ qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr driver, virDomainMemoryDefPtr mem, bool build) { - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); g_autofree char *path = NULL; size_t i; bool shouldBuildHP = false; @@ -3901,7 +3879,6 @@ qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr driver,
ret = 0; cleanup: - virObjectUnref(cfg); return ret; }
@@ -3911,7 +3888,7 @@ qemuProcessDestroyMemoryBackingPath(virQEMUDriverPtr driver, virDomainObjPtr vm, virDomainMemoryDefPtr mem) { - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); g_autofree char *path = NULL; int ret = -1;
@@ -3926,7 +3903,6 @@ qemuProcessDestroyMemoryBackingPath(virQEMUDriverPtr driver,
ret = 0; cleanup: - virObjectUnref(cfg); return ret; }
@@ -3966,7 +3942,7 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver, virDomainGraphicsDefPtr graphics, bool allocate) { - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); unsigned short port = 0; unsigned short tlsPort; size_t i; @@ -4051,7 +4027,6 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver, ret = 0;
cleanup: - virObjectUnref(cfg); return ret; }
@@ -4739,9 +4714,9 @@ static int qemuProcessGetNetworkAddress(const char *netname, char **netaddr) { - virConnectPtr conn = NULL; + g_autoptr(virConnect) conn = NULL; int ret = -1; - virNetworkPtr net; + g_autoptr(virNetwork) net = NULL; virNetworkDefPtr netdef = NULL; virNetworkIPDefPtr ipdef; virSocketAddr addr; @@ -4827,8 +4802,6 @@ qemuProcessGetNetworkAddress(const char *netname, ret = 0; cleanup: virNetworkDefFree(netdef);
If you defined an autoptr cleanup function for virNetworkDef, you could get rid of the goto in this function as well. e.g.:
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virNetworkDef, virNetworkDefFree);
Perhaps that's outside the scope of this cleanup patch though.
- virObjectUnref(net); - virObjectUnref(conn); return ret; }
@@ -4866,7 +4839,7 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr driver, virDomainObjPtr vm) { qemuDomainObjPrivatePtr priv = vm->privateData; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); const char *type = virDomainGraphicsTypeToString(graphics-
type); char *listenAddr = NULL; bool useSocket = false; @@ -4943,7 +4916,6 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr driver, ret = 0;
cleanup: - virObjectUnref(cfg); return ret; }
@@ -5580,7 +5552,7 @@ qemuProcessInit(virQEMUDriverPtr driver, bool migration, unsigned int flags) { - virCapsPtr caps = NULL; + g_autoptr(virCaps) caps = NULL; qemuDomainObjPrivatePtr priv = vm->privateData; int stopFlags; virCPUDefPtr origCPU = NULL; @@ -5663,7 +5635,6 @@ qemuProcessInit(virQEMUDriverPtr driver,
cleanup: virCPUDefFree(origCPU); - virObjectUnref(caps);
similar here
return ret;
stop: @@ -5686,7 +5657,7 @@ qemuProcessNetworkPrepareDevices(virQEMUDriverPtr driver, qemuDomainObjPrivatePtr priv = vm->privateData; int ret = -1; size_t i; - virConnectPtr conn = NULL; + g_autoptr(virConnect) conn = NULL;
for (i = 0; i < def->nnets; i++) { virDomainNetDefPtr net = def->nets[i]; @@ -5739,7 +5710,6 @@ qemuProcessNetworkPrepareDevices(virQEMUDriverPtr driver, } ret = 0; cleanup: - virObjectUnref(conn); return ret; }
@@ -6247,8 +6217,8 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver, int ret = -1; size_t i; qemuDomainObjPrivatePtr priv = vm->privateData; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); - virCapsPtr caps; + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virCaps) caps = NULL;
if (!(caps = virQEMUDriverGetCapabilities(driver, false))) goto cleanup; @@ -6364,8 +6334,6 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver,
ret = 0; cleanup: - virObjectUnref(caps); - virObjectUnref(cfg); return ret; }
@@ -6524,7 +6492,7 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver, int ret = -1; unsigned int hostdev_flags = 0; qemuDomainObjPrivatePtr priv = vm->privateData; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
if (qemuPrepareNVRAM(cfg, vm) < 0) goto cleanup; @@ -6613,7 +6581,6 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver,
ret = 0; cleanup: - virObjectUnref(cfg); return ret; }
@@ -6728,8 +6695,8 @@ qemuProcessLaunch(virConnectPtr conn, qemuDomainObjPrivatePtr priv = vm->privateData; virCommandPtr cmd = NULL; struct qemuProcessHookData hookData; - virQEMUDriverConfigPtr cfg; - virCapsPtr caps = NULL; + g_autoptr(virQEMUDriverConfig) cfg = NULL; + g_autoptr(virCaps) caps = NULL; size_t nnicindexes = 0; g_autofree int *nicindexes = NULL; size_t i; @@ -7045,8 +7012,6 @@ qemuProcessLaunch(virConnectPtr conn, qemuDomainSecretDestroy(vm); virCommandFree(cmd); virObjectUnref(logCtxt); - virObjectUnref(cfg); - virObjectUnref(caps); return ret; }
@@ -7103,8 +7068,8 @@ qemuProcessFinishStartup(virQEMUDriverPtr driver, bool startCPUs, virDomainPausedReason pausedReason) { - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); int ret = -1; + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
if (startCPUs) { VIR_DEBUG("Starting domain CPUs"); @@ -7132,7 +7097,6 @@ qemuProcessFinishStartup(virQEMUDriverPtr driver, ret = 0;
cleanup: - virObjectUnref(cfg); return ret; }
@@ -7372,8 +7336,8 @@ void qemuProcessStop(virQEMUDriverPtr driver, virNetDevVPortProfilePtr vport = NULL; size_t i; g_autofree char *timestamp = NULL; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); - virConnectPtr conn = NULL; + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virConnect) conn = NULL;
VIR_DEBUG("Shutting down vm=%p name=%s id=%d pid=%lld, " "reason=%s, asyncJob=%s, flags=0x%x", @@ -7676,8 +7640,6 @@ void qemuProcessStop(virQEMUDriverPtr driver,
cleanup: virErrorRestore(&orig_err); - virObjectUnref(conn); - virObjectUnref(cfg); }
@@ -7812,7 +7774,7 @@ static int qemuProcessRefreshCPU(virQEMUDriverPtr driver, virDomainObjPtr vm) { - virCapsPtr caps = virQEMUDriverGetCapabilities(driver, false); + g_autoptr(virCaps) caps = virQEMUDriverGetCapabilities(driver, false); qemuDomainObjPrivatePtr priv = vm->privateData; virCPUDefPtr host = NULL; virCPUDefPtr cpu = NULL; @@ -7863,7 +7825,6 @@ qemuProcessRefreshCPU(virQEMUDriverPtr driver, cleanup: virCPUDefFree(cpu); virCPUDefFree(host); - virObjectUnref(caps); return ret; }
@@ -7999,11 +7960,11 @@ qemuProcessReconnect(void *opaque) qemuDomainJobObj oldjob; int state; int reason; - virQEMUDriverConfigPtr cfg; + g_autoptr(virQEMUDriverConfig) cfg = NULL; size_t i; unsigned int stopFlags = 0; bool jobStarted = false; - virCapsPtr caps = NULL; + g_autoptr(virCaps) caps = NULL; bool retry = true; bool tryMonReconn = false;
@@ -8247,8 +8208,6 @@ qemuProcessReconnect(void *opaque) qemuDomainRemoveInactiveJob(driver, obj); } virDomainObjEndAPI(&obj); - virObjectUnref(cfg); - virObjectUnref(caps); virNWFilterUnlockFilterUpdates(); virIdentitySetCurrent(NULL); return;

On Thu, 2019-10-17 at 17:08 -0300, Daniel Henrique Barboza wrote:
On 10/17/19 5:03 PM, Jonathon Jongsma wrote:
On Thu, 2019-10-17 at 09:46 -0300, Daniel Henrique Barboza wrote:
Change all feasible pointers to use g_autoptr().
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- src/qemu/qemu_process.c | 121 +++++++++++++------------------ ------- -- 1 file changed, 40 insertions(+), 81 deletions(-)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index f747cdcc59..6ed69bef27 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -108,7 +108,7 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver, char ebuf[1024]; g_autofree char *file = NULL; qemuDomainObjPrivatePtr priv = vm->privateData; - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); int ret = -1;
if (virAsprintf(&file, "%s/%s.xml", cfg->stateDir, vm->def-
name) < 0) @@ -126,7 +126,6 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver,
ret = 0; cleanup: - virObjectUnref(cfg);
It seems to me that if you're removing everything except the return from the "cleanup" label, there is no longer any use for the 'goto cleanup' statement. You can replace it with a straight return. There are quite a few similar cases below.
This is being done in the next patch. This separation was given as a feedback from the qemu_driver.c changes, where separating the 'cleanup' label removal from the auto* changes makes it easier to review.
Yep, sorry. Please excuse the noise. I was apparently a little behind on mailing list email and I both 1) replied to a slightly old version of the patch series and 2) replied before reading the full patch series. Carry on. Jonathon

The g_auto*() changes made by the previous patches made a lot of 'cleanup' labels obsolete. Let's remove them. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- src/qemu/qemu_process.c | 199 ++++++++++++++++------------------------ 1 file changed, 77 insertions(+), 122 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 6ed69bef27..8843ed20da 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -109,10 +109,9 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver, g_autofree char *file = NULL; qemuDomainObjPrivatePtr priv = vm->privateData; g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); - int ret = -1; if (virAsprintf(&file, "%s/%s.xml", cfg->stateDir, vm->def->name) < 0) - goto cleanup; + return -1; if (unlink(file) < 0 && errno != ENOENT && errno != ENOTDIR) VIR_WARN("Failed to remove domain XML for %s: %s", @@ -124,9 +123,7 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver, VIR_WARN("Failed to remove PID file for %s: %s", vm->def->name, virStrerror(errno, ebuf, sizeof(ebuf))); - ret = 0; - cleanup: - return ret; + return 0; } @@ -2085,7 +2082,6 @@ qemuProcessLookupPTYs(virDomainChrDefPtr *devices, { g_autofree char *id = NULL; size_t i; - int ret = -1; for (i = 0; i < count; i++) { virDomainChrDefPtr chr = devices[i]; @@ -2104,7 +2100,7 @@ qemuProcessLookupPTYs(virDomainChrDefPtr *devices, */ virReportError(VIR_ERR_INTERNAL_ERROR, _("no assigned pty for device %s"), id); - goto cleanup; + return -1; } else { /* 'info chardev' had no pty path for this chardev, * but the log output had, so we're fine @@ -2115,13 +2111,11 @@ qemuProcessLookupPTYs(virDomainChrDefPtr *devices, VIR_FREE(chr->source->data.file.path); if (VIR_STRDUP(chr->source->data.file.path, entry->ptyPath) < 0) - goto cleanup; + return -1; } } - ret = 0; - cleanup: - return ret; + return 0; } static int @@ -2174,7 +2168,6 @@ qemuProcessRefreshChannelVirtioState(virQEMUDriverPtr driver, qemuMonitorChardevInfoPtr entry; virObjectEventPtr event = NULL; g_autofree char *id = NULL; - int ret = -1; if (booted) agentReason = VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_REASON_DOMAIN_STARTED; @@ -2185,7 +2178,7 @@ qemuProcessRefreshChannelVirtioState(virQEMUDriverPtr driver, VIR_FREE(id); if (virAsprintf(&id, "char%s", chr->info.alias) < 0) - goto cleanup; + return -1; /* port state not reported */ if (!(entry = virHashLookup(info, id)) || @@ -2202,9 +2195,7 @@ qemuProcessRefreshChannelVirtioState(virQEMUDriverPtr driver, } } - ret = 0; - cleanup: - return ret; + return 0; } @@ -2726,7 +2717,6 @@ static int qemuProcessResctrlCreate(virQEMUDriverPtr driver, virDomainObjPtr vm) { - int ret = -1; size_t i = 0; g_autoptr(virCaps) caps = NULL; qemuDomainObjPrivatePtr priv = vm->privateData; @@ -2745,7 +2735,7 @@ qemuProcessResctrlCreate(virQEMUDriverPtr driver, if (virResctrlAllocCreate(caps->host.resctrl, vm->def->resctrls[i]->alloc, priv->machineName) < 0) - goto cleanup; + return -1; for (j = 0; j < vm->def->resctrls[i]->nmonitors; j++) { virDomainResctrlMonDefPtr mon = NULL; @@ -2753,13 +2743,11 @@ qemuProcessResctrlCreate(virQEMUDriverPtr driver, mon = vm->def->resctrls[i]->monitors[j]; if (virResctrlMonitorCreate(mon->instance, priv->machineName) < 0) - goto cleanup; + return -1; } } - ret = 0; - cleanup: - return ret; + return 0; } @@ -2974,10 +2962,9 @@ qemuProcessInitPasswords(virQEMUDriverPtr driver, } if (ret < 0) - goto cleanup; + return ret; } - cleanup: return ret; } @@ -3207,7 +3194,7 @@ qemuProcessStartCPUs(virQEMUDriverPtr driver, virDomainObjPtr vm, /* Bring up netdevs before starting CPUs */ if (qemuInterfaceStartDevices(vm->def) < 0) - goto cleanup; + return -1; VIR_DEBUG("Using lock state '%s'", NULLSTR(priv->lockState)); if (virDomainLockProcessResume(driver->lockManager, cfg->uri, @@ -3216,7 +3203,7 @@ qemuProcessStartCPUs(virQEMUDriverPtr driver, virDomainObjPtr vm, * to make sure we have state still present if the user * tries to resume again */ - goto cleanup; + return -1; } VIR_FREE(priv->lockState); @@ -3237,7 +3224,6 @@ qemuProcessStartCPUs(virQEMUDriverPtr driver, virDomainObjPtr vm, * lifecycle event. */ - cleanup: return ret; release: @@ -3245,7 +3231,7 @@ qemuProcessStartCPUs(virQEMUDriverPtr driver, virDomainObjPtr vm, if (virDomainLockProcessPause(driver->lockManager, vm, &priv->lockState) < 0) VIR_WARN("Unable to release lease on %s", vm->def->name); VIR_DEBUG("Preserving lock state '%s'", NULLSTR(priv->lockState)); - goto cleanup; + return ret; } @@ -3846,7 +3832,6 @@ qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr driver, size_t i; bool shouldBuildHP = false; bool shouldBuildMB = false; - int ret = -1; if (build) { shouldBuildHP = qemuProcessNeedHugepagesPath(vm->def, mem); @@ -3858,11 +3843,11 @@ qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr driver, path = qemuGetDomainHugepagePath(vm->def, &cfg->hugetlbfs[i]); if (!path) - goto cleanup; + return -1; if (qemuProcessBuildDestroyMemoryPathsImpl(driver, vm, path, build) < 0) - goto cleanup; + return -1; VIR_FREE(path); } @@ -3870,16 +3855,14 @@ qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr driver, if (!build || shouldBuildMB) { if (qemuGetMemoryBackingDomainPath(vm->def, cfg, &path) < 0) - goto cleanup; + return -1; if (qemuProcessBuildDestroyMemoryPathsImpl(driver, vm, path, build) < 0) - goto cleanup; + return -1; } - ret = 0; - cleanup: - return ret; + return 0; } @@ -3890,20 +3873,17 @@ qemuProcessDestroyMemoryBackingPath(virQEMUDriverPtr driver, { g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); g_autofree char *path = NULL; - int ret = -1; if (qemuGetMemoryBackingPath(vm->def, cfg, mem->info.alias, &path) < 0) - goto cleanup; + return -1; if (unlink(path) < 0 && errno != ENOENT) { virReportSystemError(errno, _("Unable to remove %s"), path); - goto cleanup; + return -1; } - ret = 0; - cleanup: - return ret; + return 0; } @@ -3947,7 +3927,6 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver, unsigned short tlsPort; size_t i; int defaultMode = graphics->data.spice.defaultMode; - int ret = -1; bool needTLSPort = false; bool needPort = false; @@ -3993,13 +3972,12 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver, if (needTLSPort || graphics->data.spice.tlsPort == -1) graphics->data.spice.tlsPort = 5902; - ret = 0; - goto cleanup; + return 0; } if (needPort || graphics->data.spice.port == -1) { if (virPortAllocatorAcquire(driver->remotePorts, &port) < 0) - goto cleanup; + return -1; graphics->data.spice.port = port; @@ -4012,11 +3990,11 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Auto allocation of spice TLS port requested " "but spice TLS is disabled in qemu.conf")); - goto cleanup; + return -1; } if (virPortAllocatorAcquire(driver->remotePorts, &tlsPort) < 0) - goto cleanup; + return -1; graphics->data.spice.tlsPort = tlsPort; @@ -4024,10 +4002,7 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driver, graphics->data.spice.tlsPortReserved = true; } - ret = 0; - - cleanup: - return ret; + return 0; } @@ -4844,7 +4819,6 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr driver, char *listenAddr = NULL; bool useSocket = false; size_t i; - int ret = -1; switch (graphics->type) { case VIR_DOMAIN_GRAPHICS_TYPE_VNC: @@ -4878,12 +4852,12 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr driver, memset(glisten, 0, sizeof(virDomainGraphicsListenDef)); if (virAsprintf(&glisten->socket, "%s/%s.sock", priv->libDir, type) < 0) - goto cleanup; + return -1; glisten->fromConfig = true; glisten->type = VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_SOCKET; } else if (listenAddr) { if (VIR_STRDUP(glisten->address, listenAddr) < 0) - goto cleanup; + return -1; glisten->fromConfig = true; } } @@ -4895,14 +4869,14 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr driver, if (qemuProcessGraphicsSetupNetworkAddress(glisten, listenAddr) < 0) - goto cleanup; + return -1; break; case VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_SOCKET: if (!glisten->socket) { if (virAsprintf(&glisten->socket, "%s/%s.sock", priv->libDir, type) < 0) - goto cleanup; + return -1; glisten->autoGenerated = true; } break; @@ -4913,10 +4887,7 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr driver, } } - ret = 0; - - cleanup: - return ret; + return 0; } @@ -5655,7 +5626,6 @@ qemuProcessNetworkPrepareDevices(virQEMUDriverPtr driver, { virDomainDefPtr def = vm->def; qemuDomainObjPrivatePtr priv = vm->privateData; - int ret = -1; size_t i; g_autoptr(virConnect) conn = NULL; @@ -5669,9 +5639,9 @@ qemuProcessNetworkPrepareDevices(virQEMUDriverPtr driver, */ if (net->type == VIR_DOMAIN_NET_TYPE_NETWORK) { if (!conn && !(conn = virGetConnectNetwork())) - goto cleanup; + return -1; if (virDomainNetAllocateActualDevice(conn, def, net) < 0) - goto cleanup; + return -1; } actualType = virDomainNetGetActualType(net); @@ -5695,10 +5665,10 @@ qemuProcessNetworkPrepareDevices(virQEMUDriverPtr driver, pcisrc->addr.domain, pcisrc->addr.bus, pcisrc->addr.slot, pcisrc->addr.function, net->data.network.name, def->name); - goto cleanup; + return -1; } if (virDomainHostdevInsert(def, hostdev) < 0) - goto cleanup; + return -1; } else if (actualType == VIR_DOMAIN_NET_TYPE_USER && !priv->disableSlirp && virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DBUS_VMSTATE)) { @@ -5708,9 +5678,7 @@ qemuProcessNetworkPrepareDevices(virQEMUDriverPtr driver, } } - ret = 0; - cleanup: - return ret; + return 0; } @@ -6214,18 +6182,17 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver, virDomainObjPtr vm, unsigned int flags) { - int ret = -1; size_t i; qemuDomainObjPrivatePtr priv = vm->privateData; g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); g_autoptr(virCaps) caps = NULL; if (!(caps = virQEMUDriverGetCapabilities(driver, false))) - goto cleanup; + return -1; priv->machineName = qemuDomainGetMachineName(vm); if (!priv->machineName) - goto cleanup; + return -1; if (!(flags & VIR_QEMU_PROCESS_START_PRETEND)) { /* If you are using a SecurityDriver with dynamic labelling, @@ -6233,12 +6200,12 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver, VIR_DEBUG("Generating domain security label (if required)"); if (qemuSecurityGenLabel(driver->securityManager, vm->def) < 0) { virDomainAuditSecurityLabel(vm, false); - goto cleanup; + return -1; } virDomainAuditSecurityLabel(vm, true); if (qemuProcessPrepareDomainNUMAPlacement(vm, caps) < 0) - goto cleanup; + return -1; } /* Whether we should use virtlogd as stdio handler for character @@ -6272,51 +6239,51 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver, VIR_DEBUG("Assigning domain PCI addresses"); if ((qemuDomainAssignAddresses(vm->def, priv->qemuCaps, driver, vm, !!(flags & VIR_QEMU_PROCESS_START_NEW))) < 0) { - goto cleanup; + return -1; } if (qemuAssignDeviceAliases(vm->def, priv->qemuCaps) < 0) - goto cleanup; + return -1; VIR_DEBUG("Setting graphics devices"); if (qemuProcessSetupGraphics(driver, vm, priv->qemuCaps, flags) < 0) - goto cleanup; + return -1; VIR_DEBUG("Create domain masterKey"); if (qemuDomainMasterKeyCreate(vm) < 0) - goto cleanup; + return -1; VIR_DEBUG("Setting up storage"); if (qemuProcessPrepareDomainStorage(driver, vm, priv, cfg, flags) < 0) - goto cleanup; + return -1; VIR_DEBUG("Prepare chardev source backends for TLS"); qemuDomainPrepareChardevSource(vm->def, cfg); VIR_DEBUG("Prepare device secrets"); if (qemuDomainSecretPrepare(driver, vm) < 0) - goto cleanup; + return -1; VIR_DEBUG("Prepare bios/uefi paths"); if (qemuFirmwareFillDomain(driver, vm, flags) < 0) - goto cleanup; + return -1; VIR_DEBUG("Preparing external devices"); if (qemuExtDevicesPrepareDomain(driver, vm) < 0) - goto cleanup; + return -1; for (i = 0; i < vm->def->nchannels; i++) { if (qemuDomainPrepareChannel(vm->def->channels[i], priv->channelTargetDir) < 0) - goto cleanup; + return -1; } if (!(priv->monConfig = virDomainChrSourceDefNew(driver->xmlopt))) - goto cleanup; + return -1; VIR_DEBUG("Preparing monitor state"); if (qemuProcessPrepareMonitorChr(priv->monConfig, priv->libDir) < 0) - goto cleanup; + return -1; priv->monError = false; priv->monStart = 0; @@ -6325,16 +6292,14 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver, VIR_DEBUG("Updating guest CPU definition"); if (qemuProcessUpdateGuestCPU(vm->def, priv->qemuCaps, caps, flags) < 0) - goto cleanup; + return -1; for (i = 0; i < vm->def->nshmems; i++) { if (qemuDomainPrepareShmemChardev(vm->def->shmems[i]) < 0) - goto cleanup; + return -1; } - ret = 0; - cleanup: - return ret; + return 0; } @@ -6346,7 +6311,6 @@ qemuProcessSEVCreateFile(virDomainObjPtr vm, qemuDomainObjPrivatePtr priv = vm->privateData; virQEMUDriverPtr driver = priv->driver; g_autofree char *configFile = NULL; - int ret = -1; if (!(configFile = virFileBuildPath(priv->libDir, name, ".base64"))) return -1; @@ -6354,15 +6318,13 @@ qemuProcessSEVCreateFile(virDomainObjPtr vm, if (virFileRewriteStr(configFile, S_IRUSR | S_IWUSR, data) < 0) { virReportSystemError(errno, _("failed to write data to config '%s'"), configFile); - goto cleanup; + return -1; } if (qemuSecurityDomainSetPathLabel(driver, vm, configFile, true) < 0) - goto cleanup; + return -1; - ret = 0; - cleanup: - return ret; + return 0; } @@ -6489,17 +6451,16 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver, virDomainObjPtr vm, unsigned int flags) { - int ret = -1; unsigned int hostdev_flags = 0; qemuDomainObjPrivatePtr priv = vm->privateData; g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); if (qemuPrepareNVRAM(cfg, vm) < 0) - goto cleanup; + return -1; if (vm->def->vsock) { if (qemuProcessOpenVhostVsock(vm->def->vsock) < 0) - goto cleanup; + return -1; } /* network devices must be "prepared" before hostdevs, because * setting up a network device might create a new hostdev that @@ -6507,7 +6468,7 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver, */ VIR_DEBUG("Preparing network devices"); if (qemuProcessNetworkPrepareDevices(driver, vm) < 0) - goto cleanup; + return -1; /* Must be run before security labelling */ VIR_DEBUG("Preparing host devices"); @@ -6517,17 +6478,17 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver, hostdev_flags |= VIR_HOSTDEV_COLD_BOOT; if (qemuHostdevPrepareDomainDevices(driver, vm->def, priv->qemuCaps, hostdev_flags) < 0) - goto cleanup; + return -1; VIR_DEBUG("Preparing chr devices"); if (virDomainChrDefForeach(vm->def, true, qemuProcessPrepareChardevDevice, NULL) < 0) - goto cleanup; + return -1; if (qemuProcessBuildDestroyMemoryPaths(driver, vm, NULL, true) < 0) - goto cleanup; + return -1; /* Ensure no historical cgroup for this VM is lying around bogus * settings */ @@ -6538,14 +6499,14 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver, virReportSystemError(errno, _("cannot create log directory %s"), cfg->logDir); - goto cleanup; + return -1; } VIR_FREE(priv->pidfile); if (!(priv->pidfile = virPidFileBuildPath(cfg->stateDir, vm->def->name))) { virReportSystemError(errno, "%s", _("Failed to build pidfile path.")); - goto cleanup; + return -1; } if (unlink(priv->pidfile) < 0 && @@ -6553,7 +6514,7 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver, virReportSystemError(errno, _("Cannot remove stale PID file %s"), priv->pidfile); - goto cleanup; + return -1; } /* @@ -6562,26 +6523,24 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver, */ if (qemuProcessMakeDir(driver, vm, priv->libDir) < 0 || qemuProcessMakeDir(driver, vm, priv->channelTargetDir) < 0) - goto cleanup; + return -1; VIR_DEBUG("Write domain masterKey"); if (qemuDomainWriteMasterKeyFile(driver, vm) < 0) - goto cleanup; + return -1; VIR_DEBUG("Preparing disks (host)"); if (qemuProcessPrepareHostStorage(driver, vm, flags) < 0) - goto cleanup; + return -1; VIR_DEBUG("Preparing external devices"); if (qemuExtDevicesPrepareHost(driver, vm) < 0) - goto cleanup; + return -1; if (qemuProcessPrepareSEVGuestInput(vm) < 0) - goto cleanup; + return -1; - ret = 0; - cleanup: - return ret; + return 0; } @@ -7068,7 +7027,6 @@ qemuProcessFinishStartup(virQEMUDriverPtr driver, bool startCPUs, virDomainPausedReason pausedReason) { - int ret = -1; g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); if (startCPUs) { @@ -7079,7 +7037,7 @@ qemuProcessFinishStartup(virQEMUDriverPtr driver, if (virGetLastErrorCode() == VIR_ERR_OK) virReportError(VIR_ERR_OPERATION_FAILED, "%s", _("resume operation failed")); - goto cleanup; + return -1; } } else { virDomainObjSetState(vm, VIR_DOMAIN_PAUSED, pausedReason); @@ -7087,17 +7045,14 @@ qemuProcessFinishStartup(virQEMUDriverPtr driver, VIR_DEBUG("Writing domain status to disk"); if (virDomainSaveStatus(driver->xmlopt, cfg->stateDir, vm, driver->caps) < 0) - goto cleanup; + return -1; if (qemuProcessStartHook(driver, vm, VIR_HOOK_QEMU_OP_STARTED, VIR_HOOK_SUBOP_BEGIN) < 0) - goto cleanup; - - ret = 0; + return -1; - cleanup: - return ret; + return 0; } -- 2.21.0

This patch changes all virAsprintf calls to use the GLib API g_strdup_printf in qemu_process.c. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- src/qemu/qemu_process.c | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 8843ed20da..1a168fbb76 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -110,7 +110,7 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver, qemuDomainObjPrivatePtr priv = vm->privateData; g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); - if (virAsprintf(&file, "%s/%s.xml", cfg->stateDir, vm->def->name) < 0) + if (!(file = g_strdup_printf("%s/%s.xml", cfg->stateDir, vm->def->name))) return -1; if (unlink(file) < 0 && errno != ENOENT && errno != ENOTDIR) @@ -2089,7 +2089,7 @@ qemuProcessLookupPTYs(virDomainChrDefPtr *devices, qemuMonitorChardevInfoPtr entry; VIR_FREE(id); - if (virAsprintf(&id, "char%s", chr->info.alias) < 0) + if (!(id = g_strdup_printf("char%s", chr->info.alias))) return -1; entry = virHashLookup(info, id); @@ -2177,7 +2177,7 @@ qemuProcessRefreshChannelVirtioState(virQEMUDriverPtr driver, if (chr->targetType == VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_VIRTIO) { VIR_FREE(id); - if (virAsprintf(&id, "char%s", chr->info.alias) < 0) + if (!(id = g_strdup_printf("char%s", chr->info.alias))) return -1; /* port state not reported */ @@ -3172,8 +3172,7 @@ qemuProcessPrepareMonitorChr(virDomainChrSourceDefPtr monConfig, monConfig->type = VIR_DOMAIN_CHR_TYPE_UNIX; monConfig->data.nix.listen = true; - if (virAsprintf(&monConfig->data.nix.path, "%s/monitor.sock", - domainDir) < 0) + if (!(monConfig->data.nix.path = g_strdup_printf("%s/monitor.sock", domainDir))) return -1; return 0; } @@ -3376,8 +3375,8 @@ qemuProcessUpdateState(virQEMUDriverPtr driver, virDomainObjPtr vm) } else { newState = VIR_DOMAIN_PAUSED; newReason = reason; - ignore_value(virAsprintf(&msg, "was paused (%s)", - virDomainPausedReasonTypeToString(reason))); + msg = g_strdup_printf("was paused (%s)", + virDomainPausedReasonTypeToString(reason)); } } @@ -4024,8 +4023,8 @@ qemuProcessVerifyHypervFeatures(virDomainDefPtr def, if (def->hyperv_features[i] != VIR_TRISTATE_SWITCH_ON) continue; - if (virAsprintf(&cpuFeature, "hv-%s", - virDomainHypervTypeToString(i)) < 0) + if (!(cpuFeature = g_strdup_printf("hv-%s", + virDomainHypervTypeToString(i)))) return -1; rc = virCPUDataCheckFeature(cpu, cpuFeature); @@ -4850,8 +4849,8 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr driver, * default instead of tcp listen. */ if (useSocket) { memset(glisten, 0, sizeof(virDomainGraphicsListenDef)); - if (virAsprintf(&glisten->socket, "%s/%s.sock", - priv->libDir, type) < 0) + if (!(glisten->socket = g_strdup_printf("%s/%s.sock", + priv->libDir, type))) return -1; glisten->fromConfig = true; glisten->type = VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_SOCKET; @@ -4874,8 +4873,8 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr driver, case VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_SOCKET: if (!glisten->socket) { - if (virAsprintf(&glisten->socket, "%s/%s.sock", - priv->libDir, type) < 0) + if (!(glisten->socket = g_strdup_printf("%s/%s.sock", + priv->libDir, type))) return -1; glisten->autoGenerated = true; } @@ -5944,7 +5943,7 @@ qemuProcessSetupHotpluggableVcpus(virQEMUDriverPtr driver, if (vcpu->hotpluggable == VIR_TRISTATE_BOOL_YES && vcpu->online && vcpupriv->vcpus != 0) { - if (virAsprintf(&vcpupriv->alias, "vcpu%zu", i) < 0) + if (!(vcpupriv->alias = g_strdup_printf("vcpu%zu", i))) goto cleanup; if (VIR_APPEND_ELEMENT(bootHotplug, nbootHotplug, vcpu) < 0) @@ -8401,7 +8400,7 @@ qemuProcessQMPInit(qemuProcessQMPPtr proc) VIR_DEBUG("proc=%p, emulator=%s", proc, proc->binary); - if (virAsprintf(&template, "%s/qmp-XXXXXX", proc->libDir) < 0) + if (!(template = g_strdup_printf("%s/qmp-XXXXXX", proc->libDir))) goto cleanup; if (!(proc->uniqDir = mkdtemp(template))) { @@ -8415,11 +8414,10 @@ qemuProcessQMPInit(qemuProcessQMPPtr proc) if (qemuProcessQEMULabelUniqPath(proc) < 0) goto cleanup; - if (virAsprintf(&proc->monpath, "%s/%s", proc->uniqDir, - "qmp.monitor") < 0) + if (!(proc->monpath = g_strdup_printf("%s/%s", proc->uniqDir, "qmp.monitor"))) goto cleanup; - if (virAsprintf(&proc->monarg, "unix:%s,server,nowait", proc->monpath) < 0) + if (!(proc->monarg = g_strdup_printf("unix:%s,server,nowait", proc->monpath))) goto cleanup; /* @@ -8427,7 +8425,7 @@ qemuProcessQMPInit(qemuProcessQMPPtr proc) * -daemonize we need QEMU to be allowed to create them, rather * than libvirtd. So we're using libDir which QEMU can write to */ - if (virAsprintf(&proc->pidfile, "%s/%s", proc->uniqDir, "qmp.pid") < 0) + if (!(proc->pidfile = g_strdup_printf("%s/%s", proc->uniqDir, "qmp.pid"))) goto cleanup; ret = 0; -- 2.21.0
participants (2)
-
Daniel Henrique Barboza
-
Jonathon Jongsma