From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=53249 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OLvWf-0003FU-T6 for qemu-devel@nongnu.org; Tue, 08 Jun 2010 05:55:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OLvWa-0000im-OA for qemu-devel@nongnu.org; Tue, 08 Jun 2010 05:55:17 -0400 Received: from zion.dlh.net ([91.198.192.1]:60775 helo=mail.dlh.net) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OLvWa-0000iV-Hh for qemu-devel@nongnu.org; Tue, 08 Jun 2010 05:55:12 -0400 Message-ID: <4C0E136F.5090801@dlh.net> Date: Tue, 08 Jun 2010 11:54:55 +0200 From: Peter Lieven MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: Qemu-KVM Livate Migration 0.12.2 -> 0.12.3/4 broken? References: <4BE93882.8050105@dlh.net> <4BEFDEE1.5070906@redhat.com> <4BF0336D.1000000@web.de> <4BF11BF7.5040301@web.de> In-Reply-To: <4BF11BF7.5040301@web.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: qemu-devel@nongnu.org, Avi Kivity , kvm@vger.kernel.org, Juan Quintela Jan Kiszka wrote: > Juan Quintela wrote: > >> Jan Kiszka wrote: >> >>> Juan Quintela wrote: >>> >>>> 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. >>>> >>> BTW, the IDE subsystem is yet lacking a proper vmstate section split-up >>> along qdev boundaries (ie. vmstate_ide_pci should not contain drive >>> structures). Do you plan to address this as well? >>> >> Not for Friday, and not for 0.12. >> > > For sure. I missed that this was only a 0.12 issue. > > >> That is 0.13 material, and have to get one agreement on how to go. >> We can go for: >> - good structure >> - backward compatibility >> >> I can't see any good way to get both at this stage :( But I am open to >> sugestions. >> > > Based on recent experiments with vmstate to enhance the hpet, I'm fairly > optimistic that we can have both (just the code complexity suffers a > bit): Split up the drive sections for new versions, but keep the legacy > fields with attached .field_exists() filters for reading of old > versions. But I may also underestimate issues of this particular case. > > >> Later, Juan. >> >> PD. BTW, very good work with printing the vmstate, that was one of the goals >> when we added it, that was the next step after porting everything to >> vmstate :) >> >> > > I'm sorry for stealing you the pleasure to add it. :) > > Jan > > whats the status of this issue? will migration from 0.12.2 to 0.12.4.1/0.13 work again? whats the scheduled release dates for 0.12.4.1 and 0.13 (still july 1st) ? thanks, peter