From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: Qemu-KVM Livate Migration 0.12.2 -> 0.12.3/4 broken? Date: Sun, 16 May 2010 17:47:46 +0300 Message-ID: <4BF00592.5040403@redhat.com> References: <4BE93882.8050105@dlh.net> <4BEFDEE1.5070906@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Peter Lieven , kvm@vger.kernel.org, qemu-devel@nongnu.org, Anthony Liguori To: Juan Quintela Return-path: Received: from mx1.redhat.com ([209.132.183.28]:30724 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750732Ab0EPOry (ORCPT ); Sun, 16 May 2010 10:47:54 -0400 In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On 05/16/2010 05:42 PM, Juan Quintela wrote: > >> Any idea why it fails? And how to fix it? >> > Lack of "proper" subsections. IDE is something like: > > const VMStateDescription vmstate_ide_drive = { > .version_id = 4, > .... > } > > static const VMStateDescription vmstate_bmdma = { > .name = "ide bmdma", > .version_id = 4, > ... > } > > const VMStateDescription vmstate_ide_pci = { > .name = "ide", > .version_id = 4, > .... > VMSTATE_STRUCT_ARRAY(bmdma, PCIIDEState, 2, 0, > vmstate_bmdma, BMDMAState), > VMSTATE_IDE_DRIVES(bus[0].ifs, PCIIDEState), > VMSTATE_IDE_DRIVES(bus[1].ifs, PCIIDEState), > .... > } > > > Notice that everything is at version 4. It used to be everything at > version 3. Now the problem is that when migrating from v3 -> v4. We > put in one place v3, But we only have a version number at the toplevel, > rest of "subsections" don't sent a version number. There is no way to > fix it in the general case. We can hack something around for ide, but > that will just be a hack, or we can backport marcelo change and port it > as a proper subsection (that is my plan). I expect to have time at the > end of next time to work on this. > end of next week? > So, to make the story short: I know what is happening, and I know how to > fix it, just that fix is not trivial. I just need time. > Meanwhile, we have a broken 0.12.4. Is there a quick'n'dirty workaround that will be forward compatible with the real fix that we can push out? We've regressed from failing some migrations to failing all migrations. -- error compiling committee.c: too many arguments to function