This one is fairly straightforward - the generator already does what we need. Signed-off-by: Eric Blake <eblake@xxxxxxxxxx> Reviewed-by: Daniel P. Berrangé <berrange@xxxxxxxxxx> --- 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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list