提交 85edb0c8 编写于 作者: E Eric Blake

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.
上级 ed23b106
...@@ -6045,6 +6045,7 @@ static virDriver remote_driver = { ...@@ -6045,6 +6045,7 @@ static virDriver remote_driver = {
.domainBlockJobSetSpeed = remoteDomainBlockJobSetSpeed, /* 0.9.4 */ .domainBlockJobSetSpeed = remoteDomainBlockJobSetSpeed, /* 0.9.4 */
.domainBlockPull = remoteDomainBlockPull, /* 0.9.4 */ .domainBlockPull = remoteDomainBlockPull, /* 0.9.4 */
.domainBlockRebase = remoteDomainBlockRebase, /* 0.9.10 */ .domainBlockRebase = remoteDomainBlockRebase, /* 0.9.10 */
.domainBlockCommit = remoteDomainBlockCommit, /* 0.10.2 */
.setKeepAlive = remoteSetKeepAlive, /* 0.9.8 */ .setKeepAlive = remoteSetKeepAlive, /* 0.9.8 */
.isAlive = remoteIsAlive, /* 0.9.8 */ .isAlive = remoteIsAlive, /* 0.9.8 */
.nodeSuspendForDuration = remoteNodeSuspendForDuration, /* 0.9.8 */ .nodeSuspendForDuration = remoteNodeSuspendForDuration, /* 0.9.8 */
......
...@@ -1224,6 +1224,14 @@ struct remote_domain_block_rebase_args { ...@@ -1224,6 +1224,14 @@ struct remote_domain_block_rebase_args {
unsigned hyper bandwidth; unsigned hyper bandwidth;
unsigned int flags; 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 { struct remote_domain_set_block_io_tune_args {
remote_nonnull_domain dom; remote_nonnull_domain dom;
...@@ -2988,7 +2996,9 @@ enum remote_procedure { ...@@ -2988,7 +2996,9 @@ enum remote_procedure {
REMOTE_PROC_CONNECT_LIST_ALL_NWFILTERS = 286, /* skipgen skipgen priority:high */ REMOTE_PROC_CONNECT_LIST_ALL_NWFILTERS = 286, /* skipgen skipgen priority:high */
REMOTE_PROC_CONNECT_LIST_ALL_SECRETS = 287, /* 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_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 ? * Notice how the entries are grouped in sets of 10 ?
......
...@@ -875,6 +875,14 @@ struct remote_domain_block_rebase_args { ...@@ -875,6 +875,14 @@ struct remote_domain_block_rebase_args {
uint64_t bandwidth; uint64_t bandwidth;
u_int flags; 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 { struct remote_domain_set_block_io_tune_args {
remote_nonnull_domain dom; remote_nonnull_domain dom;
remote_nonnull_string disk; remote_nonnull_string disk;
...@@ -2397,4 +2405,5 @@ enum remote_procedure { ...@@ -2397,4 +2405,5 @@ enum remote_procedure {
REMOTE_PROC_CONNECT_LIST_ALL_SECRETS = 287, REMOTE_PROC_CONNECT_LIST_ALL_SECRETS = 287,
REMOTE_PROC_NODE_SET_MEMORY_PARAMETERS = 288, REMOTE_PROC_NODE_SET_MEMORY_PARAMETERS = 288,
REMOTE_PROC_NODE_GET_MEMORY_PARAMETERS = 289, REMOTE_PROC_NODE_GET_MEMORY_PARAMETERS = 289,
REMOTE_PROC_DOMAIN_BLOCK_COMMIT = 290,
}; };
...@@ -276,6 +276,7 @@ my $long_legacy = { ...@@ -276,6 +276,7 @@ my $long_legacy = {
GetLibVersion => { ret => { lib_ver => 1 } }, GetLibVersion => { ret => { lib_ver => 1 } },
GetVersion => { ret => { hv_ver => 1 } }, GetVersion => { ret => { hv_ver => 1 } },
NodeGetInfo => { ret => { memory => 1 } }, NodeGetInfo => { ret => { memory => 1 } },
DomainBlockCommit => { arg => { bandwidth => 1 } },
DomainBlockPull => { arg => { bandwidth => 1 } }, DomainBlockPull => { arg => { bandwidth => 1 } },
DomainBlockRebase => { arg => { bandwidth => 1 } }, DomainBlockRebase => { arg => { bandwidth => 1 } },
DomainBlockJobSetSpeed => { arg => { bandwidth => 1 } }, DomainBlockJobSetSpeed => { arg => { bandwidth => 1 } },
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册