Re: [PATCH v3 1/9] lib: add virDomainGetGuestInfo()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/23/19 6:31 PM, Jonathon Jongsma wrote:
This API is intended to aggregate several guest agent information
queries and is ispired by stats API virDomainListGetStats(). It is
anticipated that this information will be provided by a guest agent
running within the domain.

Signed-off-by: Jonathon Jongsma <jjongsma@xxxxxxxxxx>
---
  include/libvirt/libvirt-domain.h |  14 ++++
  src/driver-hypervisor.h          |   8 +++
  src/libvirt-domain.c             | 117 +++++++++++++++++++++++++++++++
  src/libvirt_public.syms          |   1 +
  4 files changed, 140 insertions(+)

diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
index 2fe9bb8e91..ad68db7549 100644
--- a/src/libvirt-domain.c
+++ b/src/libvirt-domain.c


+int virDomainGetGuestInfo(virDomainPtr domain,
+                          unsigned int types,
+                          virTypedParameterPtr *params,
+                          int *nparams,
+                          unsigned int flags)
+{
+    VIR_DOMAIN_DEBUG(domain, "types=%u, params=%p, nparams=%p, flags=0x%x",
+                     types, params, nparams, flags);

I think that @types should also be written in hex format since it's a bitwise-OR of integer values.

+
+    virResetLastError();
+
+    virCheckDomainReturn(domain, -1);
+    virCheckReadOnlyGoto(domain->conn->flags, error);
+
+    virCheckNonNullArgGoto(params, error);
+    virCheckNonNullArgGoto(nparams, error);
+
+    if (domain->conn->driver->domainGetGuestInfo) {
+        int ret;
+        ret = domain->conn->driver->domainGetGuestInfo(domain, types,
+                                                       params, nparams, flags);
+
+        if (ret < 0)
+            goto error;
+        return ret;
+    }
+
+    virReportUnsupportedError();
+
+ error:
+    virDispatchError(domain->conn);
+    return -1;
+}
/**
   * virDomainSetBlockThreshold:
diff --git a/src/libvirt_public.syms b/src/libvirt_public.syms
index 54256b6317..e196fd11d9 100644
--- a/src/libvirt_public.syms
+++ b/src/libvirt_public.syms
@@ -850,6 +850,7 @@ LIBVIRT_5.6.0 {
          virDomainCheckpointLookupByName;
          virDomainCheckpointRef;
          virDomainListAllCheckpoints;
+        virDomainGetGuestInfo;
  } LIBVIRT_5.5.0;

Unfortunatelly, 5.6.0 is gone. This needs to be a new section of name LIBVIRT_5.7.0.

Michal

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux