qemu/migration
Dr. David Alan Gilbert 1eb3fc0a0b migration: Fix non-multiple of page size migration
Unfortunately it's legal to create a VM with a RAM size that's
not a multiple of the underlying host page or huge page size.
Recently I'd changed things to always send host sized pages,
and that breaks if we have say a 1025MB guest on 2MB hugepages.

Unfortunately we can't just make that illegal since it would break
migration from/to existing oddly configured VMs.

Symptom: qemu-system-x86_64: Illegal RAM offset 40100000
     as it transmits the fraction of the hugepage after the end
     of the RAMBlock (may also cause a crash on the source
     - possibly due to clearing bits after the bitmap)

Reported-by:  Yumei Huang <yuhuang@redhat.com>
Red Hat bug: https://bugzilla.redhat.com/show_bug.cgi?id=1449037

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
2017-05-18 18:04:53 +02:00
..
block.c migration/block: use blk_pwrite_zeroes for each zero cluster 2017-04-21 10:36:12 +01:00
colo-comm.c COLO: Add 'x-colo-lost-heartbeat' command to trigger failover 2016-10-30 15:17:39 +05:30
colo-failover.c COLO: Implement the process of failover for primary VM 2016-10-30 15:17:39 +05:30
colo.c replication: Make --disable-replication compile again 2017-04-28 16:50:16 +01:00
exec.c migration: setup bi-directional I/O channel for exec: protocol 2017-05-04 10:00:38 +02:00
fd.c migration: set name for all I/O channels created 2016-10-27 09:13:10 +02:00
Makefile.objs migration: Move page_cache.c to migration/ 2017-05-17 12:04:59 +02:00
migration.c migration: Move check_migratable() into qdev.c 2017-05-17 12:04:59 +02:00
page_cache.c migration: Move page_cache.c to migration/ 2017-05-17 12:04:59 +02:00
page_cache.h migration: Move page_cache.c to migration/ 2017-05-17 12:04:59 +02:00
postcopy-ram.c migration: Move postcopy stuff to postcopy-ram.c 2017-05-17 12:04:59 +02:00
postcopy-ram.h migration: Move postcopy stuff to postcopy-ram.c 2017-05-17 12:04:59 +02:00
qemu-file-channel.c migration: introduce a new QEMUFile impl based on QIOChannel 2016-05-26 11:31:24 +05:30
qemu-file.c add 'release-ram' migrate capability 2017-02-13 17:27:13 +00:00
qjson.c qjson: free str 2016-08-08 00:00:24 +04:00
ram.c migration: Fix non-multiple of page size migration 2017-05-18 18:04:53 +02:00
rdma.c sockets: Prepare inet_parse() for flattened SocketAddress 2017-05-09 09:14:40 +02:00
savevm.c migration: Move check_migratable() into qdev.c 2017-05-17 12:04:59 +02:00
socket.c sockets: Limit SocketAddressLegacy to external interfaces 2017-05-09 09:14:40 +02:00
tls.c migration: to_dst_file at that point is NULL 2017-05-04 10:00:38 +02:00
trace-events migration: Extra tracing 2017-05-04 10:41:23 +02:00
vmstate.c vmstate: fix failed iotests case 68 and 91 2017-03-16 08:59:52 +01:00
xbzrle.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00