On 02/01/2012 12:06 AM, Eric Blake wrote:
Nice and simple.
Nice and ACKed :-)
* src/remote/remote_protocol.x (REMOTE_PROC_DOMAIN_BLOCK_REBASE):
New RPC.
* src/remote/remote_driver.c (remote_driver): Wire it up.
* src/remote_protocol-structs: Regenerate.
---
src/remote/remote_driver.c | 1 +
src/remote/remote_protocol.x | 10 +++++++++-
src/remote_protocol-structs | 8 ++++++++
3 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index 031becd..d7bd561 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -4832,6 +4832,7 @@ static virDriver remote_driver = {
.domainGetBlockJobInfo = remoteDomainGetBlockJobInfo, /* 0.9.4 */
.domainBlockJobSetSpeed = remoteDomainBlockJobSetSpeed, /* 0.9.4 */
.domainBlockPull = remoteDomainBlockPull, /* 0.9.4 */
+ .domainBlockRebase = remoteDomainBlockRebase, /* 0.9.10 */
.setKeepAlive = remoteSetKeepAlive, /* 0.9.8 */
.isAlive = remoteIsAlive, /* 0.9.8 */
.nodeSuspendForDuration = remoteNodeSuspendForDuration, /* 0.9.8 */
diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
index b2c8426..6f035a9 100644
--- a/src/remote/remote_protocol.x
+++ b/src/remote/remote_protocol.x
@@ -1147,6 +1147,13 @@ struct remote_domain_block_pull_args {
unsigned hyper bandwidth;
unsigned int flags;
};
+struct remote_domain_block_rebase_args {
+ remote_nonnull_domain dom;
+ remote_nonnull_string path;
+ remote_string base;
+ unsigned hyper bandwidth;
+ unsigned int flags;
+};
struct remote_domain_set_block_io_tune_args {
remote_nonnull_domain dom;
@@ -2708,7 +2715,8 @@ enum remote_procedure {
REMOTE_PROC_STORAGE_VOL_RESIZE = 260, /* autogen autogen */
REMOTE_PROC_DOMAIN_PM_SUSPEND_FOR_DURATION = 261, /* autogen autogen */
- REMOTE_PROC_DOMAIN_GET_CPU_STATS = 262 /* skipgen skipgen */
+ REMOTE_PROC_DOMAIN_GET_CPU_STATS = 262, /* skipgen skipgen */
+ REMOTE_PROC_DOMAIN_BLOCK_REBASE = 263 /* 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 e9137a9..66965f8 100644
--- a/src/remote_protocol-structs
+++ b/src/remote_protocol-structs
@@ -813,6 +813,13 @@ struct remote_domain_block_pull_args {
uint64_t bandwidth;
u_int flags;
};
+struct remote_domain_block_rebase_args {
+ remote_nonnull_domain dom;
+ remote_nonnull_string path;
+ remote_string base;
+ uint64_t bandwidth;
+ u_int flags;
+};
struct remote_domain_set_block_io_tune_args {
remote_nonnull_domain dom;
remote_nonnull_string disk;
@@ -2129,4 +2136,5 @@ enum remote_procedure {
REMOTE_PROC_STORAGE_VOL_RESIZE = 260,
REMOTE_PROC_DOMAIN_PM_SUSPEND_FOR_DURATION = 261,
REMOTE_PROC_DOMAIN_GET_CPU_STATS = 262,
+ REMOTE_PROC_DOMAIN_BLOCK_REBASE = 263,
};