|
From: | Peter Lieven |
Subject: | Re: [Qemu-devel] Re: Qemu-KVM Livate Migration 0.12.2 -> 0.12.3/4 broken? |
Date: | Tue, 08 Jun 2010 11:54:55 +0200 |
User-agent: | Thunderbird 2.0.0.23 (X11/20090817) |
Jan Kiszka wrote:
whats the status of this issue? will migration from 0.12.2 to 0.12.4.1/0.13 work again?Juan Quintela wrote:Jan Kiszka <address@hidden> 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 scheduled release dates for 0.12.4.1 and 0.13 (still july 1st) ? thanks, peter
[Prev in Thread] | Current Thread | [Next in Thread] |