From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=48346 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ODk4P-00056p-80 for qemu-devel@nongnu.org; Sun, 16 May 2010 16:04:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1ODk4N-0006oz-PK for qemu-devel@nongnu.org; Sun, 16 May 2010 16:04:17 -0400 Received: from mx1.redhat.com ([209.132.183.28]:31311) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1ODk4N-0006ou-II for qemu-devel@nongnu.org; Sun, 16 May 2010 16:04:15 -0400 From: Juan Quintela In-Reply-To: <4BF00592.5040403@redhat.com> (Avi Kivity's message of "Sun, 16 May 2010 17:47:46 +0300") References: <4BE93882.8050105@dlh.net> <4BEFDEE1.5070906@redhat.com> <4BF00592.5040403@redhat.com> Date: Sun, 16 May 2010 22:04:08 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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: Avi Kivity Cc: Peter Lieven , qemu-devel@nongnu.org, kvm@vger.kernel.org Avi Kivity wrote: > 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? Humm, for Spaniards weeks start on Monday :) (Monday is holiday here). I mean here Friday 21. >> 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? revert the patch. It almost never happen (being in the middle of one IO) while migrating. > We've regressed from failing some migrations to failing all migrations. Humm, 0.12.4 -> 0.12.4 should work. My advise is just revert the patch and live with it for another week, what do you think? Later, Juan.