[libvirt RFC v3 05/19] remote: Add RPC support for the virDomainSaveParametersFlags API

Claudio Fontana cfontana at suse.de
Tue Apr 26 16:47:18 UTC 2022


Signed-off-by: Claudio Fontana <cfontana at suse.de>
---
 src/remote/remote_driver.c   |  1 +
 src/remote/remote_protocol.x | 17 ++++++++++++++++-
 src/remote_protocol-structs  |  9 +++++++++
 3 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index 7e7a21fcab..1fc5d41971 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -8446,6 +8446,7 @@ static virHypervisorDriver hypervisor_driver = {
     .domainGetControlInfo = remoteDomainGetControlInfo, /* 0.9.3 */
     .domainSave = remoteDomainSave, /* 0.3.0 */
     .domainSaveFlags = remoteDomainSaveFlags, /* 0.9.4 */
+    .domainSaveParametersFlags = remoteDomainSaveParametersFlags, /* 8.3.0 */
     .domainRestore = remoteDomainRestore, /* 0.3.0 */
     .domainRestoreFlags = remoteDomainRestoreFlags, /* 0.9.4 */
     .domainSaveImageGetXMLDesc = remoteDomainSaveImageGetXMLDesc, /* 0.9.4 */
diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
index 4f13cef662..c2ae5c5748 100644
--- a/src/remote/remote_protocol.x
+++ b/src/remote/remote_protocol.x
@@ -230,6 +230,9 @@ const REMOTE_NODE_MEMORY_PARAMETERS_MAX = 64;
 /* Upper limit on migrate parameters */
 const REMOTE_DOMAIN_MIGRATE_PARAM_LIST_MAX = 64;
 
+/* Upper limit on save/restore parameters */
+const REMOTE_DOMAIN_SAVE_PARAMS_MAX = 64;
+
 /* Upper limit on number of job stats */
 const REMOTE_DOMAIN_JOB_STATS_MAX = 64;
 
@@ -3227,6 +3230,12 @@ struct remote_domain_migrate_confirm3_params_args {
     int cancelled;
 };
 
+struct remote_domain_save_parameters_flags_args {
+    remote_nonnull_domain dom;
+    remote_typed_param params<REMOTE_DOMAIN_SAVE_PARAMS_MAX>;
+    unsigned int flags;
+};
+
 /* The device removed event is the last event where we have to support
  * dual forms for back-compat to older clients; all future events can
  * use just the modern form with callbackID.  */
@@ -6920,5 +6929,11 @@ enum remote_procedure {
      * @generate: both
      * @acl: domain:write
      */
-    REMOTE_PROC_DOMAIN_SET_LAUNCH_SECURITY_STATE = 439
+    REMOTE_PROC_DOMAIN_SET_LAUNCH_SECURITY_STATE = 439,
+
+    /**
+     * @generate: both
+     * @acl: domain:hibernate
+     */
+    REMOTE_PROC_DOMAIN_SAVE_PARAMETERS_FLAGS = 440
 };
diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs
index d88176781d..89eadeb644 100644
--- a/src/remote_protocol-structs
+++ b/src/remote_protocol-structs
@@ -563,6 +563,14 @@ struct remote_domain_save_flags_args {
         remote_string              dxml;
         u_int                      flags;
 };
+struct remote_domain_save_parameters_flags_args {
+        remote_nonnull_domain      dom;
+        struct {
+                u_int              params_len;
+                remote_typed_param * params_val;
+        } params;
+        u_int                      flags;
+};
 struct remote_domain_restore_args {
         remote_nonnull_string      from;
 };
@@ -3689,4 +3697,5 @@ enum remote_procedure {
         REMOTE_PROC_NETWORK_CREATE_XML_FLAGS = 437,
         REMOTE_PROC_DOMAIN_EVENT_MEMORY_DEVICE_SIZE_CHANGE = 438,
         REMOTE_PROC_DOMAIN_SET_LAUNCH_SECURITY_STATE = 439,
+        REMOTE_PROC_DOMAIN_SAVE_PARAMETERS_FLAGS = 440,
 };
-- 
2.34.1



More information about the libvir-list mailing list