This patch is a scratch which enables a full live backup of VM, actually it is equal to savevm lively. As a test it uses hmp command migrate to trigger the action.
The ultimate goal is providing another command to user as: snapshotvm [with_state] [internal] [live] which then create vm backups with a screen image(I am not sure if a screen snapshot is supported in qemu now). This function is enabled in VMWARE which can automatically create full vm snapshots lively with a screen image which seems cool, so I want to introduce it to qemu. Limitations: currently only implemented "snapshotvm with_state internal live" case. no screen captured in the time of creating snapshots. no good integration with existing savevm, migration, snapshot_blkdev code. no test case yet. hmp/qmp API not added. Although there are so many gaps, but I want to send these patch first to make sure I am in the right direction, esp the implemention of savevm lively with vmstate, to see if there is potentional problem, such as creating snapshots takes too long? Other cases would be simpler if this case have no major problem found. Wenchao Xia (2): live backup vm, export functions live backup vm, snapshots all lively block.c | 21 ++++++ block.h | 2 + buffered_file.c | 106 +++++++++++++++++++++++++++ buffered_file.h | 1 + migration.c | 215 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ migration.h | 13 ++++ savevm.c | 37 +++------- sysemu.h | 2 + 8 files changed, 371 insertions(+), 26 deletions(-)