diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 9a2ce910a5..76bcb70a56 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -1934,6 +1934,8 @@ qemuDomainObjPrivateDataClear(qemuDomainObjPrivate *priv)
g_slist_free_full(g_steal_pointer(&priv->threadContextAliases), g_free);
priv->migrationRecoverSetup = false;
+
+ g_clear_pointer(&priv->memoryBackingDir, g_free);
}
@@ -2708,6 +2710,7 @@ qemuDomainObjPrivateXMLFormat(virBuffer *buf,
virBufferEscapeString(buf, "\n", priv->libDir);
virBufferEscapeString(buf, "\n",
priv->channelTargetDir);
+ virBufferEscapeString(buf, "\n", priv->memoryBackingDir);
virCPUDefFormatBufFull(buf, priv->origCPU, NULL);
@@ -3429,6 +3432,8 @@ qemuDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt,
priv->channelTargetDir = tmp;
tmp = NULL;
+ priv->memoryBackingDir = virXPathString("string(./memoryBackingDir/@path)", ctxt);
+
qemuDomainSetPrivatePathsOld(driver, vm);
if (virCPUDefParseXML(ctxt, "./cpu", VIR_CPU_TYPE_GUEST, &priv->origCPU,
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
index 355a9e1cb2..8f41c4af81 100644
--- a/src/qemu/qemu_domain.h
+++ b/src/qemu/qemu_domain.h
@@ -261,6 +261,8 @@ struct _qemuDomainObjPrivate {
/* named file descriptor groups associated with the VM */
GHashTable *fds;
+
+ char *memoryBackingDir;
};
#define QEMU_DOMAIN_PRIVATE(vm) \
diff --git a/tests/qemustatusxml2xmldata/memory-backing-dir-in.xml b/tests/qemustatusxml2xmldata/memory-backing-dir-in.xml
new file mode 100644
index 0000000000..eea671a41c
--- /dev/null
+++ b/tests/qemustatusxml2xmldata/memory-backing-dir-in.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ testtest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -2
+
+ QEMUGuest1
+ c7a5fdbd-edaf-9455-926a-d65c16db1809
+ 219136
+ 219136
+ 1
+
+ hvm
+
+
+
+ destroy
+ restart
+ destroy
+
+ /usr/bin/qemu-system-i386
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/qemustatusxml2xmldata/memory-backing-dir-out.xml b/tests/qemustatusxml2xmldata/memory-backing-dir-out.xml
new file mode 120000
index 0000000000..fb0b1330b5
--- /dev/null
+++ b/tests/qemustatusxml2xmldata/memory-backing-dir-out.xml
@@ -0,0 +1 @@
+memory-backing-dir-in.xml
\ No newline at end of file
diff --git a/tests/qemuxmlactivetest.c b/tests/qemuxmlactivetest.c
index 2aefc871ee..23ac807c76 100644
--- a/tests/qemuxmlactivetest.c
+++ b/tests/qemuxmlactivetest.c
@@ -248,6 +248,8 @@ mymain(void)
DO_TEST_STATUS("backup-pull");
+ DO_TEST_STATUS("memory-backing-dir");
+
cleanup:
qemuTestDriverFree(&driver);