[libvirt] [PATCH v2 07/25] backup: Implement backup APIs for remote driver

Peter Krempa posted 25 patches 6 years, 2 months ago
[libvirt] [PATCH v2 07/25] backup: Implement backup APIs for remote driver
Posted by Peter Krempa 6 years, 2 months ago
From: Eric Blake <eblake@redhat.com>

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>
---
 src/remote/remote_driver.c   |  2 ++
 src/remote/remote_protocol.x | 33 ++++++++++++++++++++++++++++++++-
 src/remote_protocol-structs  | 15 +++++++++++++++
 3 files changed, 49 insertions(+), 1 deletion(-)

diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index a1384fc655..ddb95914a6 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -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 = {
diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
index 23e42d17b1..c79cb98ae8 100644
--- a/src/remote/remote_protocol.x
+++ b/src/remote/remote_protocol.x
@@ -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_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
 };
diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs
index 9ad7a857e0..abc5c5fd2c 100644
--- a/src/remote_protocol-structs
+++ b/src/remote_protocol-structs
@@ -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_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,
 };
-- 
2.23.0

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

Re: [libvirt] [PATCH v2 07/25] backup: Implement backup APIs for remote driver
Posted by Ján Tomko 6 years, 2 months ago
On Tue, Dec 03, 2019 at 06:17:29PM +0100, Peter Krempa wrote:
>From: Eric Blake <eblake@redhat.com>
>
>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>
>---
> src/remote/remote_driver.c   |  2 ++
> src/remote/remote_protocol.x | 33 ++++++++++++++++++++++++++++++++-
> src/remote_protocol-structs  | 15 +++++++++++++++
> 3 files changed, 49 insertions(+), 1 deletion(-)
>
>diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
>index a1384fc655..ddb95914a6 100644
>--- a/src/remote/remote_driver.c
>+++ b/src/remote/remote_driver.c
>@@ -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 = {
>diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
>index 23e42d17b1..c79cb98ae8 100644
>--- a/src/remote/remote_protocol.x
>+++ b/src/remote/remote_protocol.x
>@@ -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_string backup_xml;

Should this be remote_nonnull_string?

>+    remote_string checkpoint_xml;
>+    unsigned int flags;
>+};
>+

Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v2 07/25] backup: Implement backup APIs for remote driver
Posted by Daniel P. Berrangé 6 years, 2 months ago
On Tue, Dec 03, 2019 at 06:17:29PM +0100, Peter Krempa wrote:
> From: Eric Blake <eblake@redhat.com>
> 
> 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>
> ---
>  src/remote/remote_driver.c   |  2 ++
>  src/remote/remote_protocol.x | 33 ++++++++++++++++++++++++++++++++-
>  src/remote_protocol-structs  | 15 +++++++++++++++
>  3 files changed, 49 insertions(+), 1 deletion(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

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