Statistics
| Branch: | Revision:

root / migration.h @ 80465e80

History | View | Annotate | Download (2.4 kB)

# Date Author Comment
539de124 03/15/2012 03:39 pm Luiz Capitulino

Purge migration of (almost) everything to do with monitors

The Monitor object is passed back and forth within the migration/savevm
code so that it can print errors and progress to the user.

However, that approach assumes a HMP monitor, being completely invalid...

e1c37d0e 03/15/2012 03:39 pm Luiz Capitulino

qapi: Convert migrate

The migrate command is one of those commands where HMP and QMP completely
mix up together. This made the conversion to the QAPI (which separates the
command into QMP and HMP parts) a bit difficult.

The first important change to be noticed is that this commit completes the...

9423a2e8 12/14/2011 03:59 pm Anthony Liguori

Merge remote-tracking branch 'stefanha/trivial-patches-next' into staging

3060eb75 12/14/2011 01:13 pm Isaku Yamahata

migration.h: remove incoming_expected declarations

The variable is deleted by 1bcef683bf840a928d633755031ac572d5fdb851
So remove its declaration.

Acked-by: Luiz Capitulino <>
Signed-off-by: Isaku Yamahata <>
Signed-off-by: Stefan Hajnoczi <>

6cdedb07 12/06/2011 03:40 pm Luiz Capitulino

qapi: Convert migrate_cancel

Signed-off-by: Luiz Capitulino <>

4f0a993b 12/06/2011 03:40 pm Luiz Capitulino

qapi: Convert migrate_set_downtime

Signed-off-by: Luiz Capitulino <>

3dc85383 12/06/2011 03:40 pm Luiz Capitulino

qapi: Convert migrate_set_speed

Signed-off-by: Luiz Capitulino <>

fa2756b7 11/21/2011 10:57 pm Anthony Liguori

migrate: add migration blockers

This lets different subsystems register an Error that is thrown whenever
migration is attempted. This works nicely because it gracefully supports
things like hotplug.

Right now, if multiple errors are registered, only one of them is reported....

afe2df69 10/25/2011 02:59 pm Gerd Hoffmann

migration: add status query functions

Add migration_is_active and migration_has_failed functions
to query migration state.

Signed-off-by: Gerd Hoffmann <>

48a2f4d6 10/20/2011 02:23 pm Juan Quintela

migration: Remove get_status() accessor

It is only used inside migration.c, and fields on that struct are
accessed all around the place on that file.

Signed-off-by: Juan Quintela <>

767de722 10/20/2011 02:23 pm Juan Quintela

migration: Remove migration cancel() callback

It is used only in one place

Signed-off-by: Juan Quintela <>

7073693b 10/20/2011 02:23 pm Juan Quintela

migration: Export a function that tells if the migration has finished correctly

This will allow us to hide the state values.

Signed-off-by: Juan Quintela <>

7dc688ed 10/20/2011 02:23 pm Juan Quintela

migration: Make state definitions local

Signed-off-by: Juan Quintela <>

3f77fc55 10/20/2011 02:23 pm Juan Quintela

migration: Fold MigrationState into FdMigrationState

Signed-off-by: Juan Quintela <>
Reviewed-by: Anthony Liguori <>

22f00a44 10/20/2011 02:23 pm Juan Quintela

migration: Rename FdMigrationState MigrationState

Signed-off-by: Juan Quintela <>
Reviewed-by: Anthony Liguori <>

0edda1c4 10/20/2011 02:23 pm Juan Quintela

migration: Refactor MigrationState creation

Signed-off-by: Juan Quintela <>
Reviewed-by: Anthony Liguori <>

8b6b99b3 10/20/2011 02:23 pm Juan Quintela

migration: Make all posible migration functions static

I have to move two functions postions to avoid forward declarations

Signed-off-by: Juan Quintela <>
Reviewed-by: Anthony Liguori <>

07af4452 10/20/2011 02:23 pm Juan Quintela

migration: move migrate_new to do_migrate

Once there, remove all parameters that don't need to be passed to
*start_outgoing_migration() functions

Signed-off-by: Juan Quintela <>
Reviewed-by: Anthony Liguori <>

d5934dde 10/20/2011 02:23 pm Juan Quintela

migration: Introduce MIG_STATE_SETUP

Use MIG_STATE_ACTIVE only when migration has really started. Use this
new state to setup migration parameters. Change defines for an
anonymous struct.

Signed-off-by: Juan Quintela <>

92920cd7 10/20/2011 02:23 pm Juan Quintela

migration: Our release callback was just free

We called it from a single place, and always with state !=
MIG_STATE_ACTIVE. Just remove the whole callback. For users of the
notifier, notice that this is exactly the case where they don't care,
we are just freeing the state from previous failed migration (it can't...

7be4363a 10/20/2011 02:23 pm Juan Quintela

migration: Make *start_outgoing_migration return FdMigrationState

Signed-off-by: Juan Quintela <>
Reviewed-by: Anthony Liguori <>

dc7acc61 10/20/2011 02:23 pm Juan Quintela

migration: Use FdMigrationState instead of MigrationState when possible

Signed-off-by: Juan Quintela <>
Reviewed-by: Anthony Liguori <>

adc56dda 04/15/2011 11:14 pm Blue Swirl

migration: move some declarations to migration.h

Move a few migration related declarations to migration.h.

Signed-off-by: Blue Swirl <>

99a0db9b 01/24/2011 04:13 pm Gerd Hoffmann

add migration state change notifiers

This patch adds functions to register and unregister notifiers for
migration state changes and a function to query the migration state.
The notifier is called on every state change. Once after establishing a
new migration object (which is in active state then) and once when the...

8ca5e801 06/22/2010 11:15 pm Juan Quintela

Exit if incoming migration fails

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

511c0231 06/22/2010 11:15 pm Juan Quintela

Factorize common migration incoming code

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

41ef56e6 06/03/2010 10:55 pm Anthony Liguori

migration: respect exit status with exec:

This patch makes sure that if the exec: process exits with a non-zero return
status, we treat the migration as failed.

This fixes https://bugs.launchpad.net/qemu/+bug/391879

Signed-off-by: Anthony Liguori <>

b5d17adb 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Convert do_migrate() to cmd_new_ret()

While there I'm also dropping a unneeded else clause (the last
one in the function).

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

ef4b7eee 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Convert simple handlers to cmd_new_ret()

The following handlers always succeed and hence can be converted
to cmd_new_ret() in the same commit.

- do_stop()
- do_quit()
- do_system_reset()
- do_system_powerdown()
- do_migrate_cancel()
- do_qmp_capabilities()...

5fd9083c 02/03/2010 08:36 pm Markus Armbruster

monitor: convert do_migrate_set_speed() to QObject

Signed-off-by: Markus Armbruster <>
Signed-off-by: Anthony Liguori <>

c6027f56 02/03/2010 08:36 pm Markus Armbruster

monitor: convert do_migrate_set_downtime() to QObject

Signed-off-by: Markus Armbruster <>
Signed-off-by: Anthony Liguori <>

13232b8f 12/19/2009 04:26 pm Anthony Liguori

Revert "monitor: Convert do_migrate_set_speed() to QObject"

This reverts commit 3a4921047d514c336531c304bec362c4d138ebcc.

From Luiz:

do_migrate_set_speed() accepts a suffix for the 'value' argument and this is
not good for QMP. We will have to add a new argument type to handle that and...
c86a6683 12/12/2009 03:59 pm Luiz Capitulino

migration: Convert do_info_migrate() to QObject

Return a QDict, which may contain up to more two QDicts, depending
on the type of migration we're performing.

IMPORTANT: as a QInt stores a int64_t integer, RAM values are going
to be stored as int64_t and not as uint64_t as they are today. If...

f327aa0c 12/03/2009 06:48 pm Jan Kiszka

live migration: Propagate output monitor to callback handler

In order to allow proper progress reporting to the monitor that
initiated the migration, forward the monitor reference through the
migration layer down to SaveLiveStateHandler.

Signed-off-by: Jan Kiszka <>...

c163b5ca 11/17/2009 04:49 pm lirans@il.ibm.com

Block live migration

This patch introduces block migration called during live migration. Block
are being copied to the destination in an async way. First the code will
transfer the whole disk and then transfer all dirty blocks accumulted during
the migration....

5f79da00 10/27/2009 07:28 pm Luiz Capitulino

monitor: Convert do_migrate() to QObject

Error is still directly printed, as we are only converting
regular output.

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

3a492104 10/27/2009 07:28 pm Luiz Capitulino

monitor: Convert do_migrate_set_speed() to QObject

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

911d2963 10/27/2009 07:28 pm Luiz Capitulino

monitor: Convert do_migrate_cancel() to QObject

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

d54908a5 09/04/2009 05:37 pm Luiz Capitulino

monitor: Port handler_1 to use QDict

This commit ports command handlers that receive one argument to use
the new monitor's dictionary.

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

f18c16de 09/04/2009 05:37 pm Luiz Capitulino

monitor: Port handler_2 to use QDict

This commit ports command handlers that receive two arguments to use
the new monitor's dictionary.

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

f96fc8a0 09/04/2009 05:37 pm Luiz Capitulino

monitor: Port handler_0 to use QDict

This commit ports command handlers that receive no arguments to use
the new monitor's dictionary.

It might seem no sense to do this, as the handlers have no arguments,
but at the end of this porting work all handlers will have the same...

5ac1fad3 08/28/2009 03:33 am Paolo Bonzini

add file descriptor migration

Signed-off-by: Paolo Bonzini <>
Cc: Chris Lalancette <>
Signed-off-by: Anthony Liguori <>

4951f65b 08/24/2009 04:01 pm Chris Lalancette

Migration via unix sockets.

Implement migration via unix sockets. While you can fake this using
exec and netcat, this involves forking another process and is
generally not very nice. By doing this directly in qemu, we can avoid
the copy through the external nc command. This is useful for...

2ea42952 06/16/2009 11:52 pm Glauber Costa

set migration max downtime

provide a monitor command to allow one to set the maximum
downtime he is willing to suffer during migration, in seconds.
"ms", "us", "ns" and "s" are accepted as modifiers.

This parameter will be used by ram_save_live() code to determine...

a0a3fd60 06/16/2009 11:45 pm Glauber Costa

add non-arbitrary migration stop condition

Currently, we're entering migration's stage 3 when
a treshold of 10 pages remain to be transferred in the system.

This has hurt some users. However, any proposed threshold is
arbitrary by nature, and would only shift the annoyance....

731b0364 03/06/2009 01:01 am aliguori

monitor: Decouple terminals (Jan Kiszka)

Currently all registered (and activate) monitor terminals work in
broadcast mode: Everyone sees what someone else types on some other
terminal and what the monitor reports back. This model is broken when
you have a management monitor terminal that is automatically operated...

376253ec 03/06/2009 01:01 am aliguori

monitor: Rework API (Jan Kiszka)

Refactor the monitor API and prepare it for decoupled terminals:
term_print functions are renamed to monitor_* and all monitor services
gain a new parameter (mon) that will once refer to the monitor instance
the output is supposed to appear on. However, the argument remains...

1d6198c3 12/13/2008 11:32 am blueswir1

Remove unnecessary trailing newlines

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6000 c046a42c-6fe2-441c-8c8c-71466251a162

065e2813 11/11/2008 06:46 pm aliguori

Reintroduce migrate-to-exec: support (Charles Duffy)

KVM's live migration support included support for exec: URLs, allowing system
state to be written or received via an arbitrary popen()ed subprocess. This
provides a convenient way to pipe state through a compression algorithm or an...

34c9dd8e 10/13/2008 06:14 am aliguori

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:...

5bb7910a 10/13/2008 06:12 am aliguori

Introduce UI for live migration

This patch introduces a command line parameter and monitor command for starting
a live migration. The next patch will provide an example of how to use these
parameters.

Signed-off-by: Anthony Liguori <>...