From b6fe647b60ce1b15566fc056e6511eff95ad96ba Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Fri, 8 Jul 2011 20:35:16 -0600 Subject: [PATCH] save: wire up remote protocol * 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. --- src/remote/remote_driver.c | 2 ++ src/remote/remote_protocol.x | 17 ++++++++++++++++- src/remote_protocol-structs | 13 +++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index 5418004dc4..44c8e0e504 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 ef9dd105bd..72d7e0aa20 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 96e74eb85e..b17804f9a8 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, }; -- GitLab