From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=53259 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ODf8F-0005BT-Q0 for qemu-devel@nongnu.org; Sun, 16 May 2010 10:47:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1ODf8D-000496-SL for qemu-devel@nongnu.org; Sun, 16 May 2010 10:47:55 -0400 Received: from mx1.redhat.com ([209.132.183.28]:11292) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1ODf8D-00048y-HI for qemu-devel@nongnu.org; Sun, 16 May 2010 10:47:53 -0400 Message-ID: <4BF00592.5040403@redhat.com> Date: Sun, 16 May 2010 17:47:46 +0300 From: Avi Kivity MIME-Version: 1.0 References: <4BE93882.8050105@dlh.net> <4BEFDEE1.5070906@redhat.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: Qemu-KVM Livate Migration 0.12.2 -> 0.12.3/4 broken? List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Juan Quintela Cc: Peter Lieven , qemu-devel@nongnu.org, kvm@vger.kernel.org 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