From: Peter Lieven Date: Mon, 10 Jun 2013 10:14:19 +0000 (+0200) Subject: Revert "migration: do not sent zero pages in bulk stage" X-Git-Tag: TizenStudio_2.0_p2.3.2~208^2~1658^2~10 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9ef051e5536b6368a1076046ec6c4ec4ac12b5c6;p=sdk%2Femulator%2Fqemu.git 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 f1c72795af573b24a7da5eb52375c9aba8a37972. Conflicts: arch_init.c Signed-off-by: Peter Lieven Signed-off-by: Juan Quintela --- diff --git a/arch_init.c b/arch_init.c index 64421e1..8bb933f 100644 --- a/arch_init.c +++ b/arch_init.c @@ -457,15 +457,10 @@ static int ram_save_block(QEMUFile *f, bool last_stage) bytes_sent = -1; if (is_zero_page(p)) { acct_info.dup_pages++; - if (!ram_bulk_stage) { - bytes_sent = save_block_hdr(f, block, offset, cont, - RAM_SAVE_FLAG_COMPRESS); - qemu_put_byte(f, 0); - bytes_sent++; - } else { - acct_info.skipped_pages++; - bytes_sent = 0; - } + bytes_sent = save_block_hdr(f, block, offset, cont, + RAM_SAVE_FLAG_COMPRESS); + qemu_put_byte(f, 0); + bytes_sent++; } else if (!ram_bulk_stage && migrate_use_xbzrle()) { current_addr = block->offset + offset; bytes_sent = save_xbzrle_page(f, p, current_addr, block,