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? Jan
signature.asc
Description: OpenPGP digital signature
