.domainBlockJobSetSpeed = remoteDomainBlockJobSetSpeed, /* 0.9.4 */
.domainBlockPull = remoteDomainBlockPull, /* 0.9.4 */
.domainBlockRebase = remoteDomainBlockRebase, /* 0.9.10 */
+ .domainBlockCopy = remoteDomainBlockCopy, /* 1.2.9 */
.domainBlockCommit = remoteDomainBlockCommit, /* 0.10.2 */
.connectSetKeepAlive = remoteConnectSetKeepAlive, /* 0.9.8 */
.connectIsAlive = remoteConnectIsAlive, /* 0.9.8 */
/* Upper limit on list of numa parameters. */
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. */
const REMOTE_NODE_CPU_STATS_MAX = 16;
unsigned hyper bandwidth;
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 {
remote_nonnull_domain dom;
remote_nonnull_string disk;
* @acl: connect:search_domains
* @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
};
uint64_t bandwidth;
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 {
remote_nonnull_domain dom;
remote_nonnull_string disk;
REMOTE_PROC_CONNECT_GET_DOMAIN_CAPABILITIES = 342,
REMOTE_PROC_DOMAIN_OPEN_GRAPHICS_FD = 343,
REMOTE_PROC_CONNECT_GET_ALL_DOMAIN_STATS = 344,
+ REMOTE_PROC_DOMAIN_BLOCK_COPY = 345,
};