]> git.proxmox.com Git - mirror_qemu.git/commit - include/migration/vmstate.h
migration: Append JSON description of migration stream
authorAlexander Graf <agraf@suse.de>
Thu, 22 Jan 2015 14:01:39 +0000 (15:01 +0100)
committerJuan Quintela <quintela@redhat.com>
Thu, 5 Feb 2015 16:16:14 +0000 (17:16 +0100)
commit8118f0950fc77cce7873002a5021172dd6e040b5
tree0a8af6231a9ed63c9a33584a1df99c7edccf944a
parent972214001120e4cf2f4ac35b6ccbd1777b11e060
migration: Append JSON description of migration stream

One of the annoyances of the current migration format is the fact that
it's not self-describing. In fact, it's not properly describing at all.
Some code randomly scattered throughout QEMU elaborates roughly how to
read and write a stream of bytes.

We discussed an idea during KVM Forum 2013 to add a JSON description of
the migration protocol itself to the migration stream. This patch
adds a section after the VM_END migration end marker that contains
description data on what the device sections of the stream are composed of.

This approach is backwards compatible with any QEMU version reading the
stream, because QEMU just stops reading after the VM_END marker and ignores
any data following it.

With an additional external program this allows us to decipher the
contents of any migration stream and hopefully make migration bugs easier
to track down.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
hw/pci/pci.c
hw/scsi/spapr_vscsi.c
hw/virtio/virtio.c
include/migration/migration.h
include/migration/vmstate.h
migration/vmstate.c
savevm.c
tests/Makefile
tests/test-vmstate.c