qemu/include/migration
Jianjun Duan 94869d5c52 migration: migrate QTAILQ
Currently we cannot directly transfer a QTAILQ instance because of the
limitation in the migration code. Here we introduce an approach to
transfer such structures. We created VMStateInfo vmstate_info_qtailq
for QTAILQ. Similar VMStateInfo can be created for other data structures
such as list.

When a QTAILQ is migrated from source to target, it is appended to the
corresponding QTAILQ structure, which is assumed to have been properly
initialized.

This approach will be used to transfer pending_events and ccs_list in spapr
state.

We also create some macros in qemu/queue.h to access a QTAILQ using pointer
arithmetic. This ensures that we do not depend on the implementation
details about QTAILQ in the migration code.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

Signed-off-by: Jianjun Duan <duanj@linux.vnet.ibm.com>
Message-Id: <1484852453-12728-3-git-send-email-duanj@linux.vnet.ibm.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
2017-01-24 17:54:47 +00:00
..
block.h Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
colo.h COLO: Implement the process of failover for primary VM 2016-10-30 15:17:39 +05:30
cpu.h migration: Add VMSTATE_UINTTL_TEST() 2016-11-23 12:00:48 +11:00
failover.h COLO: Implement the process of failover for primary VM 2016-10-30 15:17:39 +05:30
migration.h migration: Switch to COLO process after finishing loadvm 2016-10-30 15:17:39 +05:30
page_cache.h xbzrle: optimize XBZRLE to decrease the cache misses 2015-01-15 17:49:43 +05:30
postcopy-ram.h Postcopy: Mark nohugepage before discard 2015-11-10 15:00:28 +01:00
qemu-file.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
qjson.h migration/qjson: Drop gratuitous use of QOM 2016-05-23 14:16:12 +05:30
vmstate.h migration: migrate QTAILQ 2017-01-24 17:54:47 +00:00