qemu/migration
Xiao Guangrong 34ab9e9743 migration: detect compression and decompression errors
Currently the page being compressed is allowed to be updated by
the VM on the source QEMU, correspondingly the destination QEMU
just ignores the decompression error. However, we completely miss
the chance to catch real errors, then the VM is corrupted silently

To make the migration more robuster, we copy the page to a buffer
first to avoid it being written by VM, then detect and handle the
errors of both compression and decompression errors properly

Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Xiao Guangrong <xiaoguangrong@tencent.com>
Message-Id: <20180330075128.26919-5-xiaoguangrong@tencent.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
2018-04-25 18:04:08 +01:00
..
block-dirty-bitmap.c migration: add postcopy migration of dirty bitmaps 2018-03-13 17:06:09 -04:00
block.c migration/block: compare only read blocks against the rate limiter 2018-03-23 16:45:18 +00:00
block.h migration: disable auto-converge during bulk block migration 2017-09-27 11:27:14 +01:00
channel.c migration: Route errors down through migration_channel_connect 2018-02-06 10:55:12 +00:00
channel.h migration: Route errors down through migration_channel_connect 2018-02-06 10:55:12 +00:00
colo-comm.c migration: pre_save return int 2017-09-27 11:35:59 +01:00
colo-failover.c Include less of the generated modular QAPI headers 2018-03-02 13:45:50 -06:00
colo.c Include less of the generated modular QAPI headers 2018-03-02 13:45:50 -06:00
exec.c Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
exec.h migration: Export exec.c functions in its own file 2017-06-01 18:49:22 +02:00
fd.c Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
fd.h migration: Export fd.c functions in its own file 2017-06-01 18:49:22 +02:00
global_state.c migration: pre_save return int 2017-09-27 11:35:59 +01:00
Makefile.objs migration: add postcopy migration of dirty bitmaps 2018-03-13 17:06:09 -04:00
migration.c migration: add postcopy total blocktime into query-migrate 2018-04-25 18:02:17 +01:00
migration.h migration: add postcopy total blocktime into query-migrate 2018-04-25 18:02:17 +01:00
page_cache.c migration: Make sure that we pass the right cache size 2017-10-29 14:06:15 +01:00
page_cache.h migration: Make cache_init() take an error parameter 2017-10-23 18:03:25 +02:00
postcopy-ram.c migration: add postcopy total blocktime into query-migrate 2018-04-25 18:02:17 +01:00
postcopy-ram.h vhost+postcopy: Wire up POSTCOPY_END notify 2018-03-20 16:40:37 +02:00
qemu-file-channel.c migration: Split qemu-file.h 2017-06-01 18:49:22 +02:00
qemu-file-channel.h migration: Export qemu-file-channel.c functions in its own file 2017-05-18 19:20:50 +02:00
qemu-file.c migration: detect compression and decompression errors 2018-04-25 18:04:08 +01:00
qemu-file.h migration: stop compression to allocate and free memory frequently 2018-04-25 18:04:06 +01:00
qjson.c migration: Move qjson.h to migration/ 2017-05-18 19:20:59 +02:00
qjson.h migration: Move qjson.h to migration/ 2017-05-18 19:20:59 +02:00
ram.c migration: detect compression and decompression errors 2018-04-25 18:04:08 +01:00
ram.h migration/ram: ramblock_recv_bitmap_test_byte_offset 2018-03-20 05:03:28 +02:00
rdma.c migration: Allow migrate_fd_connect to take an Error * 2018-02-06 10:55:12 +00:00
rdma.h migration: Export rdma.c functions in its own file 2017-06-01 18:49:23 +02:00
savevm.c virtio,vhost,pci,pc: features, cleanups 2018-03-20 15:48:34 +00:00
savevm.h migration: introduce postcopy-only pending 2018-03-13 17:05:41 -04:00
socket.c migration: convert socket server to QIONetListener 2018-03-23 16:27:24 +00:00
socket.h migration: Export socket.c functions in its own file 2017-06-01 18:49:23 +02:00
tls.c qio: non-default context for TLS handshake 2018-03-06 10:19:07 +00:00
tls.h migration: Export tls.c functions in its own file 2017-06-01 18:49:23 +02:00
trace-events migration: add postcopy total blocktime into query-migrate 2018-04-25 18:02:17 +01:00
vmstate-types.c migration: Route more error paths 2017-09-27 11:44:18 +01:00
vmstate.c migration: wire vmstate_save_state errors up to vmstate_subsection_save 2017-09-27 11:38:21 +01:00
xbzrle.c migration: Create migration/xbzrle.h 2017-05-18 18:04:54 +02:00
xbzrle.h migration: Create migration/xbzrle.h 2017-05-18 18:04:54 +02:00