459f93
From b221b3ab6d881efedc544e0e0ed9c507e21fd178 Mon Sep 17 00:00:00 2001
459f93
Message-Id: <b221b3ab6d881efedc544e0e0ed9c507e21fd178@dist-git>
459f93
From: Michal Privoznik <mprivozn@redhat.com>
459f93
Date: Wed, 11 May 2022 16:37:27 +0200
459f93
Subject: [PATCH] qemu_domain: Format qemuDomainObjPrivate::originalMemlock
459f93
459f93
Now that qemuDomainObjPrivate struct gained new member format it
459f93
into XML and parse it so that the value is preserved across
459f93
daemon restarts.
459f93
459f93
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
459f93
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
459f93
(cherry picked from commit 21aec91790ae14d24512856b20cff49764ede637)
459f93
459f93
https://bugzilla.redhat.com/show_bug.cgi?id=2089433
459f93
459f93
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
459f93
---
459f93
 src/qemu/qemu_domain.c | 13 +++++++++++++
459f93
 1 file changed, 13 insertions(+)
459f93
459f93
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
459f93
index 86d673dafa..ee7d310903 100644
459f93
--- a/src/qemu/qemu_domain.c
459f93
+++ b/src/qemu/qemu_domain.c
459f93
@@ -2383,6 +2383,12 @@ qemuDomainObjPrivateXMLFormat(virBuffer *buf,
459f93
     if (qemuDomainObjPrivateXMLFormatBackups(buf, vm) < 0)
459f93
         return -1;
459f93
 
459f93
+    if (priv->originalMemlock > 0) {
459f93
+        virBufferAsprintf(buf,
459f93
+                          "<originalMemlock>%llu</originalMemlock>\n",
459f93
+                          priv->originalMemlock);
459f93
+    }
459f93
+
459f93
     return 0;
459f93
 }
459f93
 
459f93
@@ -3104,6 +3110,13 @@ qemuDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt,
459f93
 
459f93
     priv->memPrealloc = virXPathBoolean("boolean(./memPrealloc)", ctxt) == 1;
459f93
 
459f93
+    if (virXPathULongLong("string(./originalMemlock)",
459f93
+                          ctxt, &priv->originalMemlock) == -2) {
459f93
+        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
459f93
+                       _("failed to parse original memlock size"));
459f93
+        goto error;
459f93
+    }
459f93
+
459f93
     return 0;
459f93
 
459f93
  error:
459f93
-- 
459f93
2.35.1
459f93