This one is fairly straightforward - the generator already does what
we need.
Signed-off-by: Eric Blake <eblake(a)redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
src/remote/remote_driver.c | 3 ++
src/remote/remote_protocol.x | 53 +++++++++++++++++++++++++++++++++++-
src/remote_protocol-structs | 28 +++++++++++++++++++
3 files changed, 83 insertions(+), 1 deletion(-)
diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index 9145aa91ff..0c54caf31b 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -8597,6 +8597,9 @@ static virHypervisorDriver hypervisor_driver = {
.domainCheckpointGetParent = remoteDomainCheckpointGetParent, /* 5.6.0 */
.domainCheckpointDelete = remoteDomainCheckpointDelete, /* 5.6.0 */
.domainCheckpointIsCurrent = remoteDomainCheckpointIsCurrent, /* 5.6.0 */
+ .domainBackupBegin = remoteDomainBackupBegin, /* 5.6.0 */
+ .domainBackupGetXMLDesc = remoteDomainBackupGetXMLDesc, /* 5.6.0 */
+ .domainBackupEnd = remoteDomainBackupEnd, /* 5.6.0 */
};
static virNetworkDriver network_driver = {
diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
index a2bd30360f..06f2b41a63 100644
--- a/src/remote/remote_protocol.x
+++ b/src/remote/remote_protocol.x
@@ -3732,6 +3732,37 @@ struct remote_domain_checkpoint_delete_args {
unsigned int flags;
};
+struct remote_domain_backup_begin_args {
+ remote_nonnull_domain dom;
+ remote_string disk_xml;
+ remote_string checkpoint_xml;
+ unsigned int flags;
+};
+
+struct remote_domain_backup_begin_ret {
+ int id;
+};
+
+struct remote_domain_backup_get_xml_desc_args {
+ remote_nonnull_domain dom;
+ int id;
+ unsigned int flags;
+};
+
+struct remote_domain_backup_get_xml_desc_ret {
+ remote_nonnull_string xml;
+};
+
+struct remote_domain_backup_end_args {
+ remote_nonnull_domain dom;
+ int id;
+ unsigned int flags;
+};
+
+struct remote_domain_backup_end_ret {
+ int retcode;
+};
+
/*----- Protocol. -----*/
/* Define the program number, protocol version and procedure numbers here. */
@@ -6595,10 +6626,30 @@ enum remote_procedure {
*/
REMOTE_PROC_DOMAIN_CHECKPOINT_DELETE = 417,
+ /**
+ * @generate: both
+ * @acl: domain:checkpoint
+ */
+ REMOTE_PROC_DOMAIN_CHECKPOINT_IS_CURRENT = 418,
+
+ /**
+ * @generate: both
+ * @acl: domain:checkpoint
+ * @acl: domain:block_write
+ * @acl: domain:fs_freeze:VIR_DOMAIN_BACKUP_BEGIN_QUIESCE
+ */
+ REMOTE_PROC_DOMAIN_BACKUP_BEGIN = 419,
+
/**
* @generate: both
* @priority: high
* @acl: domain:read
*/
- REMOTE_PROC_DOMAIN_CHECKPOINT_IS_CURRENT = 418
+ REMOTE_PROC_DOMAIN_BACKUP_GET_XML_DESC = 420,
+
+ /**
+ * @generate: both
+ * @acl: domain:checkpoint
+ */
+ REMOTE_PROC_DOMAIN_BACKUP_END = 421
};
diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs
index ba4337b1bd..535ed2c484 100644
--- a/src/remote_protocol-structs
+++ b/src/remote_protocol-structs
@@ -3112,6 +3112,31 @@ struct remote_domain_checkpoint_delete_args {
remote_nonnull_domain_checkpoint checkpoint;
u_int flags;
};
+struct remote_domain_backup_begin_args {
+ remote_nonnull_domain dom;
+ remote_string disk_xml;
+ remote_string checkpoint_xml;
+ u_int flags;
+};
+struct remote_domain_backup_begin_ret {
+ int id;
+};
+struct remote_domain_backup_get_xml_desc_args {
+ remote_nonnull_domain dom;
+ int id;
+ u_int flags;
+};
+struct remote_domain_backup_get_xml_desc_ret {
+ remote_nonnull_string xml;
+};
+struct remote_domain_backup_end_args {
+ remote_nonnull_domain dom;
+ int id;
+ u_int flags;
+};
+struct remote_domain_backup_end_ret {
+ int retcode;
+};
enum remote_procedure {
REMOTE_PROC_CONNECT_OPEN = 1,
REMOTE_PROC_CONNECT_CLOSE = 2,
@@ -3531,4 +3556,7 @@ enum remote_procedure {
REMOTE_PROC_DOMAIN_CHECKPOINT_GET_PARENT = 416,
REMOTE_PROC_DOMAIN_CHECKPOINT_DELETE = 417,
REMOTE_PROC_DOMAIN_CHECKPOINT_IS_CURRENT = 418,
+ REMOTE_PROC_DOMAIN_BACKUP_BEGIN = 419,
+ REMOTE_PROC_DOMAIN_BACKUP_GET_XML_DESC = 420,
+ REMOTE_PROC_DOMAIN_BACKUP_END = 421,
};
--
2.20.1