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 tests: vmstate static checker: add size mismatch inside substructure 2014-06-23 19:14:52 +02:00
.gitignore qapi: Ignore files created during make check 2014-09-26 21:18:15 +04:00
ac97-test.c tests: Add ac97 qtest 2014-05-05 20:58:33 +02:00
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-qdict: Add test for qdict_join() 2014-05-19 11:36:48 +02:00
check-qfloat.c
check-qint.c
check-qjson.c json-lexer: fix escaped backslash in single-quoted string 2014-06-23 11:01:24 -04:00
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 e1000: remove broken support for 82573L 2014-06-09 15:38:58 +02:00
eepro100-test.c
endianness-test.c
es1370-test.c tests: Add es1370 qtest 2014-05-05 20:58:33 +02:00
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 tests: Add intel-hda qtests 2014-05-05 20:58:33 +02:00
ioh3420-test.c tests: Add ioh3420 qtest 2014-05-05 20:58:33 +02:00
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 libqtest: escape strings in QMP commands, fix leak 2014-07-01 10:20:41 +02:00
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 tests: Add missing 'static' attributes (fix warnings from smatch) 2014-07-18 17:45:37 +04:00
test-qmp-commands.c
test-qmp-event.c tests/test-qmp-event: fix for GLib < 2.31 2014-06-30 15:06:11 +02:00
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 qapi: Replace uncommon use of the error API by the common one 2014-05-15 14:00:46 -04:00
test-qmp-output-visitor.c tests: Check empty QMP output visitor 2014-05-28 17:36:09 +02:00
test-rfifolock.c
test-string-input-visitor.c tests: simplify code 2014-06-19 18:44:22 +03:00
test-string-output-visitor.c tests: Fix unterminated string output visitor enum human string 2014-07-14 12:03:20 +02:00
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 tests: Add missing 'static' attributes (fix warnings from smatch) 2014-07-18 17:45:37 +04:00
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 libqtest: escape strings in QMP commands, fix leak 2014-07-01 10:20:41 +02:00
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 qtest: new test for wdt_ib700 2014-07-18 14:57:35 +02:00