mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-30 21:42:06 -06:00
Introduce TCP live migration protocol
This patch introduces a tcp protocol for live migration. It can be used as follows: qemu-system-x86_64 -hda ~/images/linux-test.img -monitor stdio <vm runs for a while> (qemu) migrate tcp:localhost:1025 On the same system: qemu-system-x86_64 -hda ~/images/linux-test.img -incoming tcp:localhost:1025 The monitor can be interacted with while waiting for an incoming live migration. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5478 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
210f41ba93
commit
34c9dd8eea
4 changed files with 400 additions and 3 deletions
24
migration.c
24
migration.c
|
@ -22,12 +22,32 @@ static MigrationState *current_migration;
|
|||
|
||||
void qemu_start_incoming_migration(const char *uri)
|
||||
{
|
||||
fprintf(stderr, "unknown migration protocol: %s\n", uri);
|
||||
const char *p;
|
||||
|
||||
if (strstart(uri, "tcp:", &p))
|
||||
tcp_start_incoming_migration(p);
|
||||
else
|
||||
fprintf(stderr, "unknown migration protocol: %s\n", uri);
|
||||
}
|
||||
|
||||
void do_migrate(int detach, const char *uri)
|
||||
{
|
||||
term_printf("unknown migration protocol: %s\n", uri);
|
||||
MigrationState *s = NULL;
|
||||
const char *p;
|
||||
|
||||
if (strstart(uri, "tcp:", &p))
|
||||
s = tcp_start_outgoing_migration(p, max_throttle, detach);
|
||||
else
|
||||
term_printf("unknown migration protocol: %s\n", uri);
|
||||
|
||||
if (s == NULL)
|
||||
term_printf("migration failed\n");
|
||||
else {
|
||||
if (current_migration)
|
||||
current_migration->release(current_migration);
|
||||
|
||||
current_migration = s;
|
||||
}
|
||||
}
|
||||
|
||||
void do_migrate_cancel(void)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue