Re: [PATCH v2 4/7] remote: implement remoteDomainGetStateParams

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

 



On 3/27/19 2:19 PM, Bjoern Walk wrote:
Michal Privoznik <mprivozn@xxxxxxxxxx> [2019-03-27, 02:05PM +0100]:
On 3/25/19 9:04 AM, Bjoern Walk wrote:
diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index 5c4dd412..e0962014 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -8131,6 +8131,49 @@ remoteStorageVolGetInfoFlags(virStorageVolPtr vol,
       return rv;
   }
+static int
+remoteDomainGetStateParams(virDomainPtr domain,
+                           int *state,
+                           int *reason,
+                           virTypedParameterPtr *params,
+                           int *nparams,
+                           unsigned int flags)
+{
+    int rv = -1;
+    remote_domain_get_state_params_args args;
+    remote_domain_get_state_params_ret ret;
+    struct private_data *priv = domain->conn->privateData;
+
+    remoteDriverLock(priv);
+
+    make_nonnull_domain(&args.dom, domain);
+    args.flags = flags;
+
+    memset(&ret, 0, sizeof(ret));
+    if (call(domain->conn, priv, 0, REMOTE_PROC_DOMAIN_GET_STATE_PARAMS,
+             (xdrproc_t) xdr_remote_domain_get_state_params_args, (char *) &args,
+             (xdrproc_t) xdr_remote_domain_get_state_params_ret, (char *) &ret) == -1)
+        goto done;
+
+    *state = ret.state;
+    *reason = ret.reason;

Neither @state nor @reason is required to be non-NULL. I mean, based on
checks from 3/7 it's just fine to call virDomaingetStateParams(dom, NULL,
NULL, ..);

Yepp, correct. Missed that.

diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs
index 768189c5..670164de 100644
--- a/src/remote_protocol-structs
+++ b/src/remote_protocol-structs
@@ -2162,6 +2162,18 @@ struct remote_domain_get_state_ret {
           int                        state;
           int                        reason;
   };
+struct remote_domain_get_state_params_args {
+        remote_nonnull_domain      dom;
+        u_int                      flags;
+};
+struct remote_domain_get_state_params_ret {
+        int                        state;
+        int                        reason;
+        struct {
+                u_int              params_len;
+                remote_typed_param * params_val;
+        } params;
+};
   struct remote_domain_migrate_begin3_args {
           remote_nonnull_domain      dom;
           remote_string              xmlin;


This is missing REMOTE_PROC_DOMAIN_GET_STATE_PARAMS = 404, at EOF :-)

Huh? Never even noticed. And yet it compiles and runs just fine. Where
are those definitions used?

This is a file that's used in 'make check' and you need pdwtags to run it. If you don't have it installed the test is skipped.

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