mirror of
https://github.com/libvirt/libvirt.git
synced 2026-08-09 04:28:32 -05:00
Extend v3 migration protocol to allow app supplied XML for target
This extends the v3 migration protocol such that the virDomainMigrateBegin3 and virDomainMigratePerform3 methods accept an application supplied XML config for the target VM. If the 'xmlin' parameter is NULL, then Begin3 uses the current guest XML as normal. A driver implementing the Begin3 method should either reject all non-NULL 'xmlin' parameters, or strictly validate that the app supplied XML does not change guest ABI. The Perform3 method also needed the xmlin parameter to cope with the Peer2Peer migration sequence. NB it is not yet possible to use this capability since neither of the public virDomainMigrate/virDomainMigrateToURI methods have a way to pass in XML. * daemon/remote.c, src/remote/remote_driver.c, src/remote/remote_protocol.x, src/remote_protocol-structs: Add 'remote_string xmlin' parameter to begin3/perform3 RPC messages * src/libvirt.c, src/driver.h, src/libvirt_internal.h: Add 'const char *xmlin' parameter to Begin3/Perform3 methods * src/qemu/qemu_driver.c, src/qemu/qemu_migration.c, src/qemu/qemu_migration.h: Pass xmlin parameter around migration methods
This commit is contained in:
@@ -1457,6 +1457,7 @@ struct remote_domain_get_state_ret {
|
||||
};
|
||||
struct remote_domain_migrate_begin3_args {
|
||||
remote_nonnull_domain dom;
|
||||
remote_string xmlin;
|
||||
uint64_t flags;
|
||||
remote_string dname;
|
||||
uint64_t resource;
|
||||
@@ -1504,6 +1505,7 @@ struct remote_domain_migrate_prepare_tunnel3_ret {
|
||||
};
|
||||
struct remote_domain_migrate_perform3_args {
|
||||
remote_nonnull_domain dom;
|
||||
remote_string xmlin;
|
||||
struct {
|
||||
u_int cookie_in_len;
|
||||
char * cookie_in_val;
|
||||
|
||||
Reference in New Issue
Block a user