From: Peter Krempa Date: Fri, 23 Jul 2021 08:51:08 +0000 (+0200) Subject: qemu: domain: Move qemuDomainObjPrivateAlloc after qemuDomainObjPrivateFree X-Git-Tag: v7.6.0-rc1~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e908a8e0e28832b2fa859afab48bceaad6bcb5bd;p=thirdparty%2Flibvirt.git qemu: domain: Move qemuDomainObjPrivateAlloc after qemuDomainObjPrivateFree The freeing function will be needed to undo failures in allocation. Signed-off-by: Peter Krempa Reviewed-by: Tim Wiederhake --- diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index b919da6eab..8d1ecc0140 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -1772,36 +1772,6 @@ qemuDomainObjStopWorker(virDomainObj *dom) } -static void * -qemuDomainObjPrivateAlloc(void *opaque) -{ - qemuDomainObjPrivate *priv; - - priv = g_new0(qemuDomainObjPrivate, 1); - - if (qemuDomainObjInitJob(&priv->job, &qemuPrivateJobCallbacks) < 0) { - virReportSystemError(errno, "%s", - _("Unable to init qemu driver mutexes")); - goto error; - } - - if (!(priv->devs = virChrdevAlloc())) - goto error; - - priv->blockjobs = virHashNew(virObjectFreeHashData); - - /* agent commands block by default, user can choose different behavior */ - priv->agentTimeout = VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_BLOCK; - priv->migMaxBandwidth = QEMU_DOMAIN_MIG_BANDWIDTH_MAX; - priv->driver = opaque; - - return priv; - - error: - VIR_FREE(priv); - return NULL; -} - /** * qemuDomainObjPrivateDataClear: * @priv: domain private data @@ -1922,6 +1892,37 @@ qemuDomainObjPrivateFree(void *data) } +static void * +qemuDomainObjPrivateAlloc(void *opaque) +{ + qemuDomainObjPrivate *priv; + + priv = g_new0(qemuDomainObjPrivate, 1); + + if (qemuDomainObjInitJob(&priv->job, &qemuPrivateJobCallbacks) < 0) { + virReportSystemError(errno, "%s", + _("Unable to init qemu driver mutexes")); + goto error; + } + + if (!(priv->devs = virChrdevAlloc())) + goto error; + + priv->blockjobs = virHashNew(virObjectFreeHashData); + + /* agent commands block by default, user can choose different behavior */ + priv->agentTimeout = VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_BLOCK; + priv->migMaxBandwidth = QEMU_DOMAIN_MIG_BANDWIDTH_MAX; + priv->driver = opaque; + + return priv; + + error: + VIR_FREE(priv); + return NULL; +} + + static int qemuStorageSourcePrivateDataAssignSecinfo(qemuDomainSecretInfo **secinfo, char **alias)