]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
libxl: Add lock process indicator to saved VM state
authorJim Fehlig <jfehlig@suse.com>
Mon, 24 Jan 2022 19:03:20 +0000 (12:03 -0700)
committerJim Fehlig <jfehlig@suse.com>
Tue, 25 Jan 2022 15:50:19 +0000 (08:50 -0700)
Commit fa58f571ee added a lock processes indicator to the
libxlDomainObjPrivate struct to note that a lock process was
successfully started for the VM. However, the commit neglected to
add the indicator to the VM's saved state file. As a result, the
indicator is lost on libvirtd restart, along with the knowledge of
whether a lock process was started for the VM.

This change adds support for the indicator in the domainObjPrivate
data parse and format callbacks, ensuring its value survives libvirtd
restarts.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/libxl/libxl_domain.c

index feca60f7d28c601fc1820d34b53db1b3838739bc..577985b5ead4833af9535e1e06da0c8c7af4f3c6 100644 (file)
@@ -226,6 +226,7 @@ libxlDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt,
     libxlDomainObjPrivate *priv = vm->privateData;
 
     priv->lockState = virXPathString("string(./lockstate)", ctxt);
+    priv->lockProcessRunning = virXPathBoolean("boolean(./lockProcessRunning)", ctxt);
 
     return 0;
 }
@@ -239,6 +240,9 @@ libxlDomainObjPrivateXMLFormat(virBuffer *buf,
     if (priv->lockState)
         virBufferAsprintf(buf, "<lockstate>%s</lockstate>\n", priv->lockState);
 
+    if (priv->lockProcessRunning)
+        virBufferAddLit(buf, "<lockProcessRunning/>\n");
+
     return 0;
 }