]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
backup: Implement backup APIs for remote driver
authorEric Blake <eblake@redhat.com>
Thu, 22 Aug 2019 01:42:43 +0000 (20:42 -0500)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 10 Dec 2019 11:41:56 +0000 (12:41 +0100)
This one is fairly straightforward - the generator already does what
we need.

Signed-off-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/remote/remote_driver.c
src/remote/remote_protocol.x
src/remote_protocol-structs

index a1384fc655b9dae39cd2a4d2e40b6efa4bef909d..ddb95914a628076b9aa8b6947e2943ded5502c6c 100644 (file)
@@ -8702,6 +8702,8 @@ static virHypervisorDriver hypervisor_driver = {
     .domainCheckpointDelete = remoteDomainCheckpointDelete, /* 5.6.0 */
     .domainGetGuestInfo = remoteDomainGetGuestInfo, /* 5.7.0 */
     .domainAgentSetResponseTimeout = remoteDomainAgentSetResponseTimeout, /* 5.10.0 */
+    .domainBackupBegin = remoteDomainBackupBegin, /* 6.0.0 */
+    .domainBackupGetXMLDesc = remoteDomainBackupGetXMLDesc, /* 6.0.0 */
 };
 
 static virNetworkDriver network_driver = {
index 23e42d17b10247345e9254ca412ffedfe9e856c3..79cdb13a90b0e8564d8c3eb735abb6d520e12525 100644 (file)
@@ -3754,6 +3754,23 @@ struct remote_domain_agent_set_response_timeout_ret {
     int result;
 };
 
+
+struct remote_domain_backup_begin_args {
+    remote_nonnull_domain dom;
+    remote_nonnull_string backup_xml;
+    remote_string checkpoint_xml;
+    unsigned int flags;
+};
+
+struct remote_domain_backup_get_xml_desc_args {
+    remote_nonnull_domain dom;
+    unsigned int flags;
+};
+
+struct remote_domain_backup_get_xml_desc_ret {
+    remote_nonnull_string xml;
+};
+
 /*----- Protocol. -----*/
 
 /* Define the program number, protocol version and procedure numbers here. */
@@ -6633,5 +6650,19 @@ enum remote_procedure {
      * @generate: both
      * @acl: domain:write
      */
-    REMOTE_PROC_DOMAIN_AGENT_SET_RESPONSE_TIMEOUT = 420
+    REMOTE_PROC_DOMAIN_AGENT_SET_RESPONSE_TIMEOUT = 420,
+
+    /**
+     * @generate: both
+     * @acl: domain:checkpoint
+     * @acl: domain:block_write
+     */
+    REMOTE_PROC_DOMAIN_BACKUP_BEGIN = 421,
+
+    /**
+     * @generate: both
+     * @priority: high
+     * @acl: domain:read
+     */
+    REMOTE_PROC_DOMAIN_BACKUP_GET_XML_DESC = 422
 };
index 9ad7a857e0791ee3c57b65195c891d50bc3f6661..bae0f0b545d1a7ccd38a1da71bf5bb74e0fa5206 100644 (file)
@@ -3122,6 +3122,19 @@ struct remote_domain_agent_set_response_timeout_args {
 struct remote_domain_agent_set_response_timeout_ret {
         int                        result;
 };
+struct remote_domain_backup_begin_args {
+        remote_nonnull_domain      dom;
+        remote_nonnull_string      backup_xml;
+        remote_string              checkpoint_xml;
+        u_int                      flags;
+};
+struct remote_domain_backup_get_xml_desc_args {
+        remote_nonnull_domain      dom;
+        u_int                      flags;
+};
+struct remote_domain_backup_get_xml_desc_ret {
+        remote_nonnull_string      xml;
+};
 enum remote_procedure {
         REMOTE_PROC_CONNECT_OPEN = 1,
         REMOTE_PROC_CONNECT_CLOSE = 2,
@@ -3543,4 +3556,6 @@ enum remote_procedure {
         REMOTE_PROC_DOMAIN_GET_GUEST_INFO = 418,
         REMOTE_PROC_CONNECT_SET_IDENTITY = 419,
         REMOTE_PROC_DOMAIN_AGENT_SET_RESPONSE_TIMEOUT = 420,
+        REMOTE_PROC_DOMAIN_BACKUP_BEGIN = 421,
+        REMOTE_PROC_DOMAIN_BACKUP_GET_XML_DESC = 422,
 };