From: Martin Kletzander Date: Mon, 23 Sep 2024 09:26:42 +0000 (+0200) Subject: qemu: Generate domain memory backing path directly X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=6f0974ca32ce19a51f496a2669c511ff8c4963ba;p=libvirt.git qemu: Generate domain memory backing path directly This makes qemuDomainGenerateMemoryBackingPath() nicer to call. Signed-off-by: Martin Kletzander Reviewed-by: Michal Privoznik --- diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 49318f5187..bbdbfd4c0e 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -1737,22 +1737,28 @@ qemuDomainSecretPrepare(virQEMUDriver *driver, static int qemuDomainGenerateMemoryBackingPath(qemuDomainObjPrivate *priv, - const virDomainDef *def, - char **path) + const virDomainDef *def) { virQEMUDriver *driver = priv->driver; g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); const char *root = driver->embeddedRoot; g_autofree char *shortName = NULL; + if (priv->memoryBackingDir) + return 0; + if (!(shortName = virDomainDefGetShortName(def))) return -1; if (root && !STRPREFIX(cfg->memoryBackingDir, root)) { g_autofree char * hash = virDomainDriverGenerateRootHash("qemu", root); - *path = g_strdup_printf("%s/%s-%s", cfg->memoryBackingDir, hash, shortName); + priv->memoryBackingDir = g_strdup_printf("%s/%s-%s", + cfg->memoryBackingDir, + hash, shortName); } else { - *path = g_strdup_printf("%s/%s", cfg->memoryBackingDir, shortName); + priv->memoryBackingDir = g_strdup_printf("%s/%s", + cfg->memoryBackingDir, + shortName); } return 0; @@ -1803,12 +1809,7 @@ qemuDomainSetPrivatePathsOld(virQEMUDriver *driver, priv->channelTargetDir = g_strdup_printf("%s/domain-%s", cfg->channelTargetDir, vm->def->name); - if (!priv->memoryBackingDir && - qemuDomainGenerateMemoryBackingPath(priv, vm->def, - &priv->memoryBackingDir) < 0) - return -1; - - return 0; + return qemuDomainGenerateMemoryBackingPath(priv, vm->def); } @@ -1830,12 +1831,7 @@ qemuDomainSetPrivatePaths(virQEMUDriver *driver, priv->channelTargetDir = g_strdup_printf("%s/%s", cfg->channelTargetDir, domname); - if (!priv->memoryBackingDir && - qemuDomainGenerateMemoryBackingPath(priv, vm->def, - &priv->memoryBackingDir) < 0) - return -1; - - return 0; + return qemuDomainGenerateMemoryBackingPath(priv, vm->def); }