Block live migration
authorlirans@il.ibm.com <lirans@il.ibm.com>
Mon, 2 Nov 2009 13:40:58 +0000 (15:40 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Tue, 17 Nov 2009 14:49:30 +0000 (08:49 -0600)
commit9962d647e2f9cd6e54e5ab9ffc3ab686e0b67eeb
tree7c50d7a326b72c6aa1906e4055ecf049d667fad1
parent3592036c9a3e681b62ef3dafb9307167798be251
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.
Still need to improve transition from the iterative phase of migration to the
end phase. For now transition will take place when all blocks transfered once,
all the dirty blocks will be transfered during the end phase (guest is
suspended).

Changes from v4:
- Global variabels moved to a global state structure allocated dynamically.
- Minor coding style issues.
- Poll block.c for tracking of dirty blocks instead of manage it here.

Signed-off-by: Liran Schour <lirans@il.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
14 files changed:
Makefile
block-migration.c [new file with mode: 0644]
block-migration.h [new file with mode: 0644]
buffered_file.c
hw/hw.h
migration-exec.c
migration-fd.c
migration-tcp.c
migration-unix.c
migration.c
migration.h
savevm.c
sysemu.h
vl.c