blockjob: add blockcommit support to rpc

Relatively straightforward.  Our decision to make block job
speed a long keeps haunting us on new API.

* src/remote/remote_protocol.x (remote_domain_block_commit_args):
New struct.
* src/remote/remote_driver.c (remote_driver): Enable it.
* src/remote_protocol-structs: Regenerate.
* src/rpc/gendispatch.pl (long_legacy): Exempt another bandwidth.
This commit is contained in:
Eric Blake 2012-09-17 14:07:18 -06:00
parent ed23b10660
commit 85edb0c8bb
4 changed files with 22 additions and 1 deletions

View File

@ -6045,6 +6045,7 @@ static virDriver remote_driver = {
.domainBlockJobSetSpeed = remoteDomainBlockJobSetSpeed, /* 0.9.4 */
.domainBlockPull = remoteDomainBlockPull, /* 0.9.4 */
.domainBlockRebase = remoteDomainBlockRebase, /* 0.9.10 */
.domainBlockCommit = remoteDomainBlockCommit, /* 0.10.2 */
.setKeepAlive = remoteSetKeepAlive, /* 0.9.8 */
.isAlive = remoteIsAlive, /* 0.9.8 */
.nodeSuspendForDuration = remoteNodeSuspendForDuration, /* 0.9.8 */

View File

@ -1224,6 +1224,14 @@ struct remote_domain_block_rebase_args {
unsigned hyper bandwidth;
unsigned int flags;
};
struct remote_domain_block_commit_args {
remote_nonnull_domain dom;
remote_nonnull_string disk;
remote_string base;
remote_string top;
unsigned hyper bandwidth;
unsigned int flags;
};
struct remote_domain_set_block_io_tune_args {
remote_nonnull_domain dom;
@ -2988,7 +2996,9 @@ enum remote_procedure {
REMOTE_PROC_CONNECT_LIST_ALL_NWFILTERS = 286, /* skipgen skipgen priority:high */
REMOTE_PROC_CONNECT_LIST_ALL_SECRETS = 287, /* skipgen skipgen priority:high */
REMOTE_PROC_NODE_SET_MEMORY_PARAMETERS = 288, /* autogen autogen */
REMOTE_PROC_NODE_GET_MEMORY_PARAMETERS = 289 /* skipgen skipgen */
REMOTE_PROC_NODE_GET_MEMORY_PARAMETERS = 289, /* skipgen skipgen */
REMOTE_PROC_DOMAIN_BLOCK_COMMIT = 290 /* autogen autogen */
/*
* Notice how the entries are grouped in sets of 10 ?

View File

@ -875,6 +875,14 @@ struct remote_domain_block_rebase_args {
uint64_t bandwidth;
u_int flags;
};
struct remote_domain_block_commit_args {
remote_nonnull_domain dom;
remote_nonnull_string disk;
remote_string base;
remote_string top;
uint64_t bandwidth;
u_int flags;
};
struct remote_domain_set_block_io_tune_args {
remote_nonnull_domain dom;
remote_nonnull_string disk;
@ -2397,4 +2405,5 @@ enum remote_procedure {
REMOTE_PROC_CONNECT_LIST_ALL_SECRETS = 287,
REMOTE_PROC_NODE_SET_MEMORY_PARAMETERS = 288,
REMOTE_PROC_NODE_GET_MEMORY_PARAMETERS = 289,
REMOTE_PROC_DOMAIN_BLOCK_COMMIT = 290,
};

View File

@ -276,6 +276,7 @@ my $long_legacy = {
GetLibVersion => { ret => { lib_ver => 1 } },
GetVersion => { ret => { hv_ver => 1 } },
NodeGetInfo => { ret => { memory => 1 } },
DomainBlockCommit => { arg => { bandwidth => 1 } },
DomainBlockPull => { arg => { bandwidth => 1 } },
DomainBlockRebase => { arg => { bandwidth => 1 } },
DomainBlockJobSetSpeed => { arg => { bandwidth => 1 } },