From: Kevin Wolf Date: Mon, 22 Feb 2016 09:21:15 +0000 (+0100) Subject: block migration: Activate image on destination before writing to it X-Git-Tag: TizenStudio_2.0_p2.4~27^2~6^2~8^2~172^2~18 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9bd9c7f5b51447b073524a7ff280c3f8eefbd38a;p=sdk%2Femulator%2Fqemu.git block migration: Activate image on destination before writing to it When using 'migrate -b', we must make sure to take ownership of the image before writing to it. Otherwise metadata would be thrown away on migration completion; this was caught by the assertions introduced in commit 09e0c771. Reported-by: Paolo Bonzini Signed-off-by: Kevin Wolf --- diff --git a/migration/block.c b/migration/block.c index a444058..3a8330a 100644 --- a/migration/block.c +++ b/migration/block.c @@ -786,6 +786,7 @@ static int block_load(QEMUFile *f, void *opaque, int version_id) int64_t addr; BlockDriverState *bs, *bs_prev = NULL; BlockBackend *blk; + Error *local_err = NULL; uint8_t *buf; int64_t total_sectors = 0; int nr_sectors; @@ -824,6 +825,12 @@ static int block_load(QEMUFile *f, void *opaque, int version_id) device_name); return -EINVAL; } + + bdrv_invalidate_cache(bs, &local_err); + if (local_err) { + error_report_err(local_err); + return -EINVAL; + } } if (total_sectors - addr < BDRV_SECTORS_PER_DIRTY_CHUNK) {