From: Peter Lieven <pl@dlh.net>
To: Jan Kiszka <jan.kiszka@web.de>
Cc: Juan Quintela <quintela@redhat.com>, Avi Kivity <avi@redhat.com>,
kvm@vger.kernel.org, qemu-devel@nongnu.org
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 [thread overview]
Message-ID: <4C0E136F.5090801@dlh.net> (raw)
In-Reply-To: <4BF11BF7.5040301@web.de>
Jan Kiszka wrote:
> Juan Quintela wrote:
>
>> Jan Kiszka <jan.kiszka@web.de> 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
WARNING: multiple messages have this Message-ID (diff)
From: Peter Lieven <pl@dlh.net>
To: Jan Kiszka <jan.kiszka@web.de>
Cc: qemu-devel@nongnu.org, Avi Kivity <avi@redhat.com>,
kvm@vger.kernel.org, Juan Quintela <quintela@redhat.com>
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 [thread overview]
Message-ID: <4C0E136F.5090801@dlh.net> (raw)
In-Reply-To: <4BF11BF7.5040301@web.de>
Jan Kiszka wrote:
> Juan Quintela wrote:
>
>> Jan Kiszka <jan.kiszka@web.de> 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
next prev parent reply other threads:[~2010-06-08 9:55 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-11 10:59 Qemu-KVM Livate Migration 0.12.2 -> 0.12.3/4 broken? Peter Lieven
2010-05-11 10:59 ` [Qemu-devel] " Peter Lieven
2010-05-11 23:11 ` Juan Quintela
2010-05-11 23:11 ` [Qemu-devel] " Juan Quintela
2010-05-12 13:42 ` Peter Lieven
2010-05-16 12:02 ` Avi Kivity
2010-05-16 12:02 ` [Qemu-devel] " Avi Kivity
2010-05-16 14:42 ` Juan Quintela
2010-05-16 14:42 ` [Qemu-devel] " Juan Quintela
2010-05-16 14:47 ` Avi Kivity
2010-05-16 14:47 ` [Qemu-devel] " Avi Kivity
2010-05-16 20:04 ` Juan Quintela
2010-05-16 20:04 ` [Qemu-devel] " Juan Quintela
2010-05-17 7:00 ` Avi Kivity
2010-05-17 7:00 ` [Qemu-devel] " Avi Kivity
2010-05-17 8:23 ` Michael Tokarev
2010-05-17 8:23 ` [Qemu-devel] " Michael Tokarev
2010-05-17 9:07 ` Juan Quintela
2010-05-17 9:07 ` [Qemu-devel] " Juan Quintela
2010-05-17 9:11 ` Michael Tokarev
2010-05-17 9:11 ` [Qemu-devel] " Michael Tokarev
2010-05-17 9:38 ` Alexander Graf
2010-05-17 9:38 ` Alexander Graf
2010-05-16 18:03 ` Jan Kiszka
2010-05-16 18:03 ` [Qemu-devel] " Jan Kiszka
2010-05-16 20:06 ` Juan Quintela
2010-05-16 20:06 ` [Qemu-devel] " Juan Quintela
2010-05-17 10:35 ` Jan Kiszka
2010-05-17 10:35 ` [Qemu-devel] " Jan Kiszka
2010-06-08 9:54 ` Peter Lieven [this message]
2010-06-08 9:54 ` Peter Lieven
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C0E136F.5090801@dlh.net \
--to=pl@dlh.net \
--cc=avi@redhat.com \
--cc=jan.kiszka@web.de \
--cc=kvm@vger.kernel.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.