mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-03 11:35:19 +00:00
blockcopy: remote implementation for new API
Fairly straightforward - I got lucky that the generated functions worked out of the box :) * src/remote/remote_protocol.x (remote_domain_block_copy_args): New struct. (REMOTE_PROC_DOMAIN_BLOCK_COPY): New RPC. * src/remote/remote_driver.c (remote_driver): Wire it up. * src/remote_protocol-structs: Regenerate. Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
c1d75deea2
commit
1069e3b90c
@ -8112,6 +8112,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 */
|
||||||
|
.domainBlockCopy = remoteDomainBlockCopy, /* 1.2.9 */
|
||||||
.domainBlockCommit = remoteDomainBlockCommit, /* 0.10.2 */
|
.domainBlockCommit = remoteDomainBlockCommit, /* 0.10.2 */
|
||||||
.connectSetKeepAlive = remoteConnectSetKeepAlive, /* 0.9.8 */
|
.connectSetKeepAlive = remoteConnectSetKeepAlive, /* 0.9.8 */
|
||||||
.connectIsAlive = remoteConnectIsAlive, /* 0.9.8 */
|
.connectIsAlive = remoteConnectIsAlive, /* 0.9.8 */
|
||||||
|
@ -124,6 +124,9 @@ const REMOTE_DOMAIN_BLOCK_IO_TUNE_PARAMETERS_MAX = 16;
|
|||||||
/* Upper limit on list of numa parameters. */
|
/* Upper limit on list of numa parameters. */
|
||||||
const REMOTE_DOMAIN_NUMA_PARAMETERS_MAX = 16;
|
const REMOTE_DOMAIN_NUMA_PARAMETERS_MAX = 16;
|
||||||
|
|
||||||
|
/* Upper limit on block copy tunable parameters. */
|
||||||
|
const REMOTE_DOMAIN_BLOCK_COPY_PARAMETERS_MAX = 16;
|
||||||
|
|
||||||
/* Upper limit on list of node cpu stats. */
|
/* Upper limit on list of node cpu stats. */
|
||||||
const REMOTE_NODE_CPU_STATS_MAX = 16;
|
const REMOTE_NODE_CPU_STATS_MAX = 16;
|
||||||
|
|
||||||
@ -1284,6 +1287,13 @@ struct remote_domain_block_rebase_args {
|
|||||||
unsigned hyper bandwidth;
|
unsigned hyper bandwidth;
|
||||||
unsigned int flags;
|
unsigned int flags;
|
||||||
};
|
};
|
||||||
|
struct remote_domain_block_copy_args {
|
||||||
|
remote_nonnull_domain dom;
|
||||||
|
remote_nonnull_string path;
|
||||||
|
remote_nonnull_string destxml;
|
||||||
|
remote_typed_param params<REMOTE_DOMAIN_BLOCK_COPY_PARAMETERS_MAX>;
|
||||||
|
unsigned int flags;
|
||||||
|
};
|
||||||
struct remote_domain_block_commit_args {
|
struct remote_domain_block_commit_args {
|
||||||
remote_nonnull_domain dom;
|
remote_nonnull_domain dom;
|
||||||
remote_nonnull_string disk;
|
remote_nonnull_string disk;
|
||||||
@ -5456,5 +5466,11 @@ enum remote_procedure {
|
|||||||
* @acl: connect:search_domains
|
* @acl: connect:search_domains
|
||||||
* @aclfilter: domain:read
|
* @aclfilter: domain:read
|
||||||
*/
|
*/
|
||||||
REMOTE_PROC_CONNECT_GET_ALL_DOMAIN_STATS = 344
|
REMOTE_PROC_CONNECT_GET_ALL_DOMAIN_STATS = 344,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generate: both
|
||||||
|
* @acl: domain:block_write
|
||||||
|
*/
|
||||||
|
REMOTE_PROC_DOMAIN_BLOCK_COPY = 345
|
||||||
};
|
};
|
||||||
|
@ -916,6 +916,16 @@ struct remote_domain_block_rebase_args {
|
|||||||
uint64_t bandwidth;
|
uint64_t bandwidth;
|
||||||
u_int flags;
|
u_int flags;
|
||||||
};
|
};
|
||||||
|
struct remote_domain_block_copy_args {
|
||||||
|
remote_nonnull_domain dom;
|
||||||
|
remote_nonnull_string path;
|
||||||
|
remote_nonnull_string destxml;
|
||||||
|
struct {
|
||||||
|
u_int params_len;
|
||||||
|
remote_typed_param * params_val;
|
||||||
|
} params;
|
||||||
|
u_int flags;
|
||||||
|
};
|
||||||
struct remote_domain_block_commit_args {
|
struct remote_domain_block_commit_args {
|
||||||
remote_nonnull_domain dom;
|
remote_nonnull_domain dom;
|
||||||
remote_nonnull_string disk;
|
remote_nonnull_string disk;
|
||||||
@ -2890,4 +2900,5 @@ enum remote_procedure {
|
|||||||
REMOTE_PROC_CONNECT_GET_DOMAIN_CAPABILITIES = 342,
|
REMOTE_PROC_CONNECT_GET_DOMAIN_CAPABILITIES = 342,
|
||||||
REMOTE_PROC_DOMAIN_OPEN_GRAPHICS_FD = 343,
|
REMOTE_PROC_DOMAIN_OPEN_GRAPHICS_FD = 343,
|
||||||
REMOTE_PROC_CONNECT_GET_ALL_DOMAIN_STATS = 344,
|
REMOTE_PROC_CONNECT_GET_ALL_DOMAIN_STATS = 344,
|
||||||
|
REMOTE_PROC_DOMAIN_BLOCK_COPY = 345,
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user