[libvirt] [PATCHv2 06/16] save: wire up remote protocol

Eric Blake eblake at redhat.com
Wed Jul 20 04:20:29 UTC 2011


* src/remote/remote_driver.c (remote_driver): Add new callbacks.
* src/remote/remote_protocol.x (remote_procedure): New RPCs.
(remote_domain_save_flags_args, remote_domain_restore_flags_args):
New structs.
* src/remote_protocol-structs: Update.
---

v2: merge 2 and 12 of v1, rebase onto latest libvirt.git

 src/remote/remote_driver.c   |    2 ++
 src/remote/remote_protocol.x |   17 ++++++++++++++++-
 src/remote_protocol-structs  |   13 +++++++++++++
 3 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index 5b7a338..692decb 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -4165,7 +4165,9 @@ static virDriver remote_driver = {
     .domainGetState = remoteDomainGetState, /* 0.9.2 */
     .domainGetControlInfo = remoteDomainGetControlInfo, /* 0.9.3 */
     .domainSave = remoteDomainSave, /* 0.3.0 */
+    .domainSaveFlags = remoteDomainSaveFlags, /* 0.9.4 */
     .domainRestore = remoteDomainRestore, /* 0.3.0 */
+    .domainRestoreFlags = remoteDomainRestoreFlags, /* 0.9.4 */
     .domainCoreDump = remoteDomainCoreDump, /* 0.3.0 */
     .domainScreenshot = remoteDomainScreenshot, /* 0.9.2 */
     .domainSetVcpus = remoteDomainSetVcpus, /* 0.3.0 */
diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
index ef9dd10..72d7e0a 100644
--- a/src/remote/remote_protocol.x
+++ b/src/remote/remote_protocol.x
@@ -725,10 +725,23 @@ struct remote_domain_save_args {
     remote_nonnull_string to;
 };

+struct remote_domain_save_flags_args {
+    remote_nonnull_domain dom;
+    remote_nonnull_string to;
+    remote_string dxml;
+    unsigned int flags;
+};
+
 struct remote_domain_restore_args {
     remote_nonnull_string from;
 };

+struct remote_domain_restore_flags_args {
+    remote_nonnull_string from;
+    remote_string dxml;
+    unsigned int flags;
+};
+
 struct remote_domain_core_dump_args {
     remote_nonnull_domain dom;
     remote_nonnull_string to;
@@ -2390,7 +2403,9 @@ enum remote_procedure {
     REMOTE_PROC_DOMAIN_GET_CONTROL_INFO = 229, /* autogen autogen */
     REMOTE_PROC_DOMAIN_GET_VCPU_PIN_INFO = 230,  /* skipgen skipgen */

-    REMOTE_PROC_DOMAIN_UNDEFINE_FLAGS = 231  /* autogen autogen */
+    REMOTE_PROC_DOMAIN_UNDEFINE_FLAGS = 231,  /* autogen autogen */
+    REMOTE_PROC_DOMAIN_SAVE_FLAGS = 232,  /* autogen autogen */
+    REMOTE_PROC_DOMAIN_RESTORE_FLAGS = 233  /* autogen autogen */

     /*
      * Notice how the entries are grouped in sets of 10 ?
diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs
index 96e74eb..b17804f 100644
--- a/src/remote_protocol-structs
+++ b/src/remote_protocol-structs
@@ -429,9 +429,20 @@ struct remote_domain_save_args {
         remote_nonnull_domain      dom;
         remote_nonnull_string      to;
 };
+struct remote_domain_save_flags_args {
+        remote_nonnull_domain      dom;
+        remote_nonnull_string      to;
+        remote_string              dxml;
+        u_int                      flags;
+};
 struct remote_domain_restore_args {
         remote_nonnull_string      from;
 };
+struct remote_domain_restore_flags_args {
+        remote_nonnull_string      from;
+        remote_string              dxml;
+        u_int                      flags;
+};
 struct remote_domain_core_dump_args {
         remote_nonnull_domain      dom;
         remote_nonnull_string      to;
@@ -1864,4 +1875,6 @@ enum remote_procedure {
         REMOTE_PROC_DOMAIN_GET_CONTROL_INFO = 229,
         REMOTE_PROC_DOMAIN_GET_VCPU_PIN_INFO = 230,
         REMOTE_PROC_DOMAIN_UNDEFINE_FLAGS = 231,
+        REMOTE_PROC_DOMAIN_SAVE_FLAGS = 232,
+        REMOTE_PROC_DOMAIN_RESTORE_FLAGS = 233,
 };
-- 
1.7.4.4




More information about the libvir-list mailing list