File cbae4eaa-libxl-add-domainGetMessages.patch of Package libvirt.23594

commit cbae4eaa19dd97da8b4330af80cf1e1f7cb21931
Author: Jim Fehlig <jfehlig@suse.com>
Date:   Mon Dec 13 16:59:55 2021 -0700

    libxl: Implement domainGetMessages API
    
    Since commit 46783e6307a, the 'virsh dominfo' command calls
    virDomainGetMessages to report any messages from the domain.
    Hypervisors not implementing the API now get the following
    libvirtd log message when clients invoke 'virsh dominfo'
    
    this function is not supported by the connection driver: virDomainGetMessages
    
    Although libxl currently does not support any tainting or
    deprecation messages, provide an implementation to squelch
    the previously unseen error message when collecting dominfo.
    
    Signed-off-by: Jim Fehlig <jfehlig@suse.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

Index: libvirt-7.1.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-7.1.0.orig/src/libxl/libxl_driver.c
+++ libvirt-7.1.0/src/libxl/libxl_driver.c
@@ -6460,6 +6460,30 @@ libxlDomainGetMetadata(virDomainPtr dom,
     return ret;
 }
 
+static int
+libxlDomainGetMessages(virDomainPtr dom,
+                      char ***msgs,
+                      unsigned int flags)
+{
+    virDomainObj *vm = NULL;
+    int ret = -1;
+
+    virCheckFlags(0, -1);
+
+    if (!(vm = libxlDomObjFromDomain(dom)))
+        return -1;
+
+    if (virDomainGetMessagesEnsureACL(dom->conn, vm->def) < 0)
+        goto cleanup;
+
+    *msgs = NULL;
+    ret = 0;
+
+ cleanup:
+    virDomainObjEndAPI(&vm);
+    return ret;
+}
+
 static virHypervisorDriver libxlHypervisorDriver = {
     .name = LIBXL_DRIVER_EXTERNAL_NAME,
     .connectURIProbe = libxlConnectURIProbe,
@@ -6575,6 +6599,7 @@ static virHypervisorDriver libxlHypervis
     .connectBaselineCPU = libxlConnectBaselineCPU, /* 2.3.0 */
     .domainSetMetadata = libxlDomainSetMetadata, /* 5.7.0 */
     .domainGetMetadata = libxlDomainGetMetadata, /* 5.7.0 */
+    .domainGetMessages = libxlDomainGetMessages, /* 8.0.0 */
 
 };
 
openSUSE Build Service is sponsored by