qemu/tests
Alexander Graf 8118f0950f 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>
2015-02-05 17:16:14 +01:00
..
acpi-test-data acpi-test: update expected DSDT 2015-01-27 14:45:10 +02:00
image-fuzzer block: delete cow block driver 2014-09-22 11:39:45 +01:00
libqos libqos: Convert malloc-pc allocator to a generic allocator 2015-01-13 11:47:57 +00:00
multiboot tests/multiboot: Add test for modules 2015-01-26 12:22:44 +01:00
qapi-schema tests: add QMP input visitor test for unions with no discriminator 2014-09-26 13:14:11 -04:00
qemu-iotests iotests: Lower 064's memory usage 2015-01-23 12:41:32 -05:00
tcg target-xtensa: test cross-page opcode 2014-12-17 05:49:32 +03:00
vmstate-static-checker-data
.gitignore qapi: Ignore files created during make check 2014-09-26 21:18:15 +04:00
ac97-test.c
ahci-test.c misc: Fix new typos in comments 2015-01-15 10:44:13 +03:00
bios-tables-test.c bios-tables-test: split piix4 and q35 tests 2015-01-27 14:46:17 +02:00
boot-order-test.c
check-block.sh
check-qdict.c
check-qfloat.c
check-qint.c
check-qjson.c
check-qlist.c
check-qom-interface.c
check-qstring.c
display-vga-test.c
drive_del-test.c qtests: Specify image format explicitly 2014-12-10 10:31:12 +01:00
e1000-test.c
eepro100-test.c
endianness-test.c
es1370-test.c
fdc-test.c qtests: Specify image format explicitly 2014-12-10 10:31:12 +01:00
fw_cfg-test.c
hd-geo-test.c tests/hd-geo-test.c: Remove unused test_image variable 2015-01-15 10:44:13 +03:00
i440fx-test.c qtests: Specify image format explicitly 2014-12-10 10:31:12 +01:00
i82801b11-test.c
ide-test.c qtests: Specify image format explicitly 2014-12-10 10:31:12 +01:00
intel-hda-test.c
ioh3420-test.c
ipoctal232-test.c
libqtest.c tests: Add virtio device initialization 2014-09-08 11:12:43 +01:00
libqtest.h glib: add compatibility interface for g_get_monotonic_time() 2014-10-15 13:43:35 +01:00
m48t59-test.c
Makefile migration: Append JSON description of migration stream 2015-02-05 17:16:14 +01:00
ne2000-test.c
nvme-test.c qtests: Specify image format explicitly 2014-12-10 10:31:12 +01:00
pcnet-test.c
pvpanic-test.c
qemu-iotests-quick.sh qemu-iotests: Speed up make check-block 2015-01-13 11:47:55 +00:00
qom-test.c
rcutorture.c rcu: allow nesting of rcu_read_lock/rcu_read_unlock 2015-02-02 16:55:10 +01:00
rtc-test.c
rtl8139-test.c
spapr-phb-test.c
test-aio.c async: aio_context_new(): Handle event_notifier_init failure 2014-09-22 11:39:48 +01:00
test-bitops.c tests: Add missing include to test-bitops.c 2014-11-02 10:04:34 +03:00
test-coroutine.c test-coroutine: avoid overflow on 32-bit systems 2015-01-13 13:43:29 +00:00
test-cutils.c
test-hbitmap.c
test-int128.c
test-iov.c
test-mul64.c
test-opts-visitor.c
test-qdev-global-props.c qdev: Move global validation to a single function 2014-09-18 21:51:24 +03:00
test-qemu-opts.c
test-qmp-commands.c
test-qmp-event.c
test-qmp-input-strict.c tests: add QMP input visitor test for unions with no discriminator 2014-09-26 13:14:11 -04:00
test-qmp-input-visitor.c
test-qmp-output-visitor.c
test-rfifolock.c
test-string-input-visitor.c
test-string-output-visitor.c
test-thread-pool.c block: Rename BlockDriverAIOCB* to BlockAIOCB* 2014-10-20 13:41:27 +02:00
test-throttle.c async: aio_context_new(): Handle event_notifier_init failure 2014-09-22 11:39:48 +01:00
test-visitor-serialization.c
test-vmstate.c migration: Append JSON description of migration stream 2015-02-05 17:16:14 +01:00
test-x86-cpuid.c
test-xbzrle.c
tmp105-test.c
tpci200-test.c
usb-hcd-ehci-test.c tests: usb: Generic usb device hotplug 2014-10-15 05:03:13 +02:00
usb-hcd-ohci-test.c tests: usb: Generic usb device hotplug 2014-10-15 05:03:13 +02:00
usb-hcd-uhci-test.c qtests: Specify image format explicitly 2014-12-10 10:31:12 +01:00
usb-hcd-xhci-test.c qtests: Specify image format explicitly 2014-12-10 10:31:12 +01:00
vhost-user-test.c vhost-user-test: Fix 'make check' broken on glib < 2.26 2014-11-05 12:53:08 +00:00
virtio-9p-test.c
virtio-balloon-test.c
virtio-blk-test.c qtests: Specify image format explicitly 2014-12-10 10:31:12 +01:00
virtio-console-test.c
virtio-net-test.c tests: virtio-net: Check if hot-plug/unplug works 2014-10-15 05:03:12 +02:00
virtio-rng-test.c tests: virtio-rng: Check if hot-plug/unplug works 2014-10-15 05:03:12 +02:00
virtio-scsi-test.c qtests: Specify image format explicitly 2014-12-10 10:31:12 +01:00
virtio-serial-test.c tests: virtio-serial: Check if hot-plug/unplug works 2014-10-15 05:03:12 +02:00
vmxnet3-test.c
wdt_ib700-test.c