mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
qemu: Set memoryBackingDir in private data upon start
This way we keep the path for each running VM. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
@@ -1795,7 +1795,7 @@ qemuGetMemoryBackingPath(qemuDomainObjPrivate *priv,
|
||||
|
||||
|
||||
/* This is the old way of setting up per-domain directories */
|
||||
static void
|
||||
static int
|
||||
qemuDomainSetPrivatePathsOld(virQEMUDriver *driver,
|
||||
virDomainObj *vm)
|
||||
{
|
||||
@@ -1808,6 +1808,13 @@ qemuDomainSetPrivatePathsOld(virQEMUDriver *driver,
|
||||
if (!priv->channelTargetDir)
|
||||
priv->channelTargetDir = g_strdup_printf("%s/domain-%s",
|
||||
cfg->channelTargetDir, vm->def->name);
|
||||
|
||||
if (!priv->memoryBackingDir &&
|
||||
qemuGetMemoryBackingDomainPath(priv, vm->def,
|
||||
&priv->memoryBackingDir) < 0)
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -1829,6 +1836,11 @@ qemuDomainSetPrivatePaths(virQEMUDriver *driver,
|
||||
priv->channelTargetDir = g_strdup_printf("%s/%s",
|
||||
cfg->channelTargetDir, domname);
|
||||
|
||||
if (!priv->memoryBackingDir &&
|
||||
qemuGetMemoryBackingDomainPath(priv, vm->def,
|
||||
&priv->memoryBackingDir) < 0)
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -3434,7 +3446,8 @@ qemuDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt,
|
||||
|
||||
priv->memoryBackingDir = virXPathString("string(./memoryBackingDir/@path)", ctxt);
|
||||
|
||||
qemuDomainSetPrivatePathsOld(driver, vm);
|
||||
if (qemuDomainSetPrivatePathsOld(driver, vm) < 0)
|
||||
return -1;
|
||||
|
||||
if (virCPUDefParseXML(ctxt, "./cpu", VIR_CPU_TYPE_GUEST, &priv->origCPU,
|
||||
false) < 0)
|
||||
|
||||
Reference in New Issue
Block a user