Commit 9ef051e5 authored by Peter Lieven's avatar Peter Lieven Committed by Juan Quintela
Browse files

Revert "migration: do not sent zero pages in bulk stage"

Not sending zero pages breaks migration if a page is zero
at the source but not at the destination. This can e.g. happen
if different BIOS versions are used at source and destination.
It has also been reported that migration on pseries is completely
broken with this patch.

This effectively reverts commit f1c72795

.

Conflicts:

	arch_init.c
Signed-off-by: default avatarPeter Lieven <pl@kamp.de>
Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
parent 87d2f825
...@@ -457,15 +457,10 @@ static int ram_save_block(QEMUFile *f, bool last_stage) ...@@ -457,15 +457,10 @@ static int ram_save_block(QEMUFile *f, bool last_stage)
bytes_sent = -1; bytes_sent = -1;
if (is_zero_page(p)) { if (is_zero_page(p)) {
acct_info.dup_pages++; acct_info.dup_pages++;
if (!ram_bulk_stage) { bytes_sent = save_block_hdr(f, block, offset, cont,
bytes_sent = save_block_hdr(f, block, offset, cont, RAM_SAVE_FLAG_COMPRESS);
RAM_SAVE_FLAG_COMPRESS); qemu_put_byte(f, 0);
qemu_put_byte(f, 0); bytes_sent++;
bytes_sent++;
} else {
acct_info.skipped_pages++;
bytes_sent = 0;
}
} else if (!ram_bulk_stage && migrate_use_xbzrle()) { } else if (!ram_bulk_stage && migrate_use_xbzrle()) {
current_addr = block->offset + offset; current_addr = block->offset + offset;
bytes_sent = save_xbzrle_page(f, p, current_addr, block, bytes_sent = save_xbzrle_page(f, p, current_addr, block,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment