summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Goldstein <cardoe@cardoe.com>2012-10-29 00:55:53 -0500
committerDoug Goldstein <cardoe@cardoe.com>2013-01-12 20:39:15 -0600
commitb6773f5e8e8d9a9cf79f5fb34b78ae76589d6e2e (patch)
tree5cb20a1da4f6a7916cd59d07cd9ca1c9ca031821
parentCall MADV_HUGEPAGE for guest RAM allocations (diff)
downloadqemu-kvm-b6773f5e8e8d9a9cf79f5fb34b78ae76589d6e2e.tar.gz
qemu-kvm-b6773f5e8e8d9a9cf79f5fb34b78ae76589d6e2e.tar.bz2
qemu-kvm-b6773f5e8e8d9a9cf79f5fb34b78ae76589d6e2e.zip
migrate: error message for ram_load sizeqemu-kvm-1.2.2-gentoo
Report an error when ramblock's sizes mismatch with a suggestion to the user as to what went wrong. If a user has a managedsave state by libvirt, which is the default now, and upgrades their distro, which in turn upgrades QEMU, they will be surprised by the fact that their VMs fail to start. The reason for this is that the default ROM sizes changed recently which makes it not possible to migrate from that saved state. However the error message really does not provide details as to what went wrong. This patch attempts to provide more details see: http://lists.nongnu.org/archive/html/qemu-devel/2012-10/msg03746.html http://lists.nongnu.org/archive/html/qemu-devel/2012-10/msg04108.html Signed-off-by: Doug Goldstein <cardoe@cardoe.com> (cherry picked from commit 4a9f00c12caa9e28992d76c18aeec468295bb157)
-rw-r--r--arch_init.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch_init.c b/arch_init.c
index f849f9b87..d38cd53b1 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -732,6 +732,11 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id)
QLIST_FOREACH(block, &ram_list.blocks, next) {
if (!strncmp(id, block->idstr, sizeof(id))) {
if (block->length != length) {
+ fprintf(stderr, "qemu: warning: error ramblock "
+ "'%s' length %ld != %ld. Did you "
+ "change the ROM/BIOS or RAM size "
+ "between restarts?\n", id,
+ block->length, length);
ret = -EINVAL;
goto done;
}