Skip to contentSkip to conversation

Qemu-KVM Livate Migration 0.12.2 -> 0.12.3/4 broken?

DISCUSSION Peter Lieven 6 participants 16 messages May 11, 2010 – Jun 8, 2010 KVM

lore
Share & tools
lore
#0 lore raw

Hi Qemu/KVM Devel Team,

Live Migration from a 0.12.2 qemu-kvm to a 0.12.3 (and 0.12.4) does not work: "load of migration failed"

Is there any way to find out, why exactly it fails? I have a lot of VMs running on 0.12.2 and would like to migrate them to 0.12.4

cmdline:
-net tap,vlan=6,script=no,downscript=no,ifname=tap7 -net nic,vlan=6,model=e1000,macaddr=52:54:00:fe:00:88 -net tap,vlan=651,script=no,downscript=no,ifname=tap8 -net nic,vlan=651,model=e1000,macaddr=52:54:00:ff:00:69 -drive file=/dev/mapper/iqn.2001-05.com.equallogic:0-8a0906-b6eca7604-6280020bc4b4bde8-quagga,if=ide,boot=on,cache=none,aio=native
-m 256 -monitor tcp:0:4090,server,nowait -vnc :90 -name 'Quagga'
-boot order=dc,menu=on -k de -incoming tcp:172.21.59.132:5090 -pidfile /var/run/qemu/vm-148.pid -rtc base=utc,clock=vm -usb -usbdevice tablet -no-kvm-irqchip -vga cirrus

Any hints would be appreciated!

Thanks,
Peter

#1 lore raw
Quoted 20 lines · Peter Lieven

Hi Qemu/KVM Devel Team,

Live Migration from a 0.12.2 qemu-kvm to a 0.12.3 (and 0.12.4) does not work: "load of migration failed"

Is there any way to find out, why exactly it fails? I have a lot of VMs running on 0.12.2 and would like to migrate them to 0.12.4

cmdline:
-net tap,vlan=6,script=no,downscript=no,ifname=tap7 -net
nic,vlan=6,model=e1000,macaddr=52:54:00:fe:00:88 -net
tap,vlan=651,script=no,downscript=no,ifname=tap8 -net
nic,vlan=651,model=e1000,macaddr=52:54:00:ff:00:69 -drive
file=/dev/mapper/iqn.2001-05.com.equallogic:0-8a0906-b6eca7604-6280020bc4b4bde8-quagga,if=ide,boot=on,cache=none,aio=native -m 256 -monitor tcp:0:4090,server,nowait -vnc :90 -name 'Quagga' -boot
order=dc,menu=on -k de -incoming tcp:172.21.59.132:5090 -pidfile
/var/run/qemu/vm-148.pid -rtc base=utc,clock=vm -usb -usbdevice
tablet -no-kvm-irqchip -vga cirrus

Quoted 1 line

Any hints would be appreciated!

Can you try reverting this patch?

commit 3fa017e24b0a0f0e68619a689b9b02fe486dae9e

Author: Marcelo Tosatti <[email protected]>
Date:   Thu Feb 11 18:19:44 2010 -0200

ide save/restore pio/atapi cmd transfer fields and io buffer

and told me if it works?

Later, Juan.

#2 lore raw

Hi,

I can confirm that reverting this patch makes Live Migration from 0.12.2 to 0.12.4 again possible.

Br,
Peter

Quoted 40 lines · Juan Quintela
Quoted 20 lines · Peter Lieven

Hi Qemu/KVM Devel Team,

Live Migration from a 0.12.2 qemu-kvm to a 0.12.3 (and 0.12.4) does not work: "load of migration failed"

Is there any way to find out, why exactly it fails? I have a lot of VMs running on 0.12.2 and would like to migrate them to 0.12.4

cmdline:
-net tap,vlan=6,script=no,downscript=no,ifname=tap7 -net
nic,vlan=6,model=e1000,macaddr=52:54:00:fe:00:88 -net
tap,vlan=651,script=no,downscript=no,ifname=tap8 -net
nic,vlan=651,model=e1000,macaddr=52:54:00:ff:00:69 -drive
file=/dev/mapper/iqn.2001-05.com.equallogic:0-8a0906-b6eca7604-6280020bc4b4bde8-quagga,if=ide,boot=on,cache=none,aio=native -m 256 -monitor tcp:0:4090,server,nowait -vnc :90 -name 'Quagga' -boot
order=dc,menu=on -k de -incoming tcp:172.21.59.132:5090 -pidfile
/var/run/qemu/vm-148.pid -rtc base=utc,clock=vm -usb -usbdevice
tablet -no-kvm-irqchip -vga cirrus

Quoted 2 lines

Any hints would be appreciated!

Can you try reverting this patch?

commit 3fa017e24b0a0f0e68619a689b9b02fe486dae9e

Author: Marcelo Tosatti <[email protected]>
Date:   Thu Feb 11 18:19:44 2010 -0200

ide save/restore pio/atapi cmd transfer fields and io buffer

and told me if it works?

Later, Juan.

Signature · 16 lines
Mit freundlichen Grüßen/Kind Regards

Peter Lieven

..........................................................................................................

  KAMP Netzwerkdienste GmbH
  Vestische Str. 89-91 | 46117 Oberhausen
  Tel: +49 (0) 208.89 402-50 | Fax: +49 (0) 208.89 402-40
  mailto:[email protected] | http://www.kamp.de

  Geschäftsführer: Heiner Lante | Michael Lante
  Amtsgericht Duisburg | HRB Nr. 12154
  USt-Id-Nr.: DE 120607556

......................................................................................................... 
#3 lore raw
In reply to Juan Quintela
Quoted 26 lines · Juan Quintela
Quoted 20 lines · Peter Lieven

Hi Qemu/KVM Devel Team,

Live Migration from a 0.12.2 qemu-kvm to a 0.12.3 (and 0.12.4) does not work: "load of migration failed"

Is there any way to find out, why exactly it fails? I have a lot of VMs running on 0.12.2 and would like to migrate them to 0.12.4

cmdline:
-net tap,vlan=6,script=no,downscript=no,ifname=tap7 -net
nic,vlan=6,model=e1000,macaddr=52:54:00:fe:00:88 -net
tap,vlan=651,script=no,downscript=no,ifname=tap8 -net
nic,vlan=651,model=e1000,macaddr=52:54:00:ff:00:69 -drive
file=/dev/mapper/iqn.2001-05.com.equallogic:0-8a0906-b6eca7604-6280020bc4b4bde8-quagga,if=ide,boot=on,cache=none,aio=native -m 256 -monitor tcp:0:4090,server,nowait -vnc :90 -name 'Quagga' -boot
order=dc,menu=on -k de -incoming tcp:172.21.59.132:5090 -pidfile
/var/run/qemu/vm-148.pid -rtc base=utc,clock=vm -usb -usbdevice
tablet -no-kvm-irqchip -vga cirrus

Quoted 2 lines

Any hints would be appreciated!

Can you try reverting this patch?

Quoted 9 lines

commit 3fa017e24b0a0f0e68619a689b9b02fe486dae9e

Author: Marcelo Tosatti<[email protected]>
Date:   Thu Feb 11 18:19:44 2010 -0200

ide save/restore pio/atapi cmd transfer fields and io buffer

and told me if it works?

Any idea why it fails? And how to fix it?

Signature · 1 line
error compiling committee.c: too many arguments to function
#4 lore raw
Quoted 31 lines · Avi Kivity
Quoted 30 lines · Juan Quintela
Quoted 20 lines · Peter Lieven

Hi Qemu/KVM Devel Team,

Live Migration from a 0.12.2 qemu-kvm to a 0.12.3 (and 0.12.4) does not work: "load of migration failed"

Is there any way to find out, why exactly it fails? I have a lot of VMs running on 0.12.2 and would like to migrate them to 0.12.4

cmdline:
-net tap,vlan=6,script=no,downscript=no,ifname=tap7 -net
nic,vlan=6,model=e1000,macaddr=52:54:00:fe:00:88 -net
tap,vlan=651,script=no,downscript=no,ifname=tap8 -net
nic,vlan=651,model=e1000,macaddr=52:54:00:ff:00:69 -drive
file=/dev/mapper/iqn.2001-05.com.equallogic:0-8a0906-b6eca7604-6280020bc4b4bde8-quagga,if=ide,boot=on,cache=none,aio=native -m 256 -monitor tcp:0:4090,server,nowait -vnc :90 -name 'Quagga' -boot
order=dc,menu=on -k de -incoming tcp:172.21.59.132:5090 -pidfile
/var/run/qemu/vm-148.pid -rtc base=utc,clock=vm -usb -usbdevice
tablet -no-kvm-irqchip -vga cirrus

Quoted 2 lines

Any hints would be appreciated!

Can you try reverting this patch?

commit 3fa017e24b0a0f0e68619a689b9b02fe486dae9e

Author: Marcelo Tosatti<[email protected]>
Date:   Thu Feb 11 18:19:44 2010 -0200
Quoted 7 lines
Quoted 5 lines

ide save/restore pio/atapi cmd transfer fields and io buffer

and told me if it works?

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.

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.

Later, Juan.

#5 lore raw
Quoted 28 lines · Juan Quintela
Quoted 3 lines

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),
....
}

Quoted 9 lines

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?

Quoted 3 lines

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?

We've regressed from failing some migrations to failing all migrations.

Signature · 1 line
error compiling committee.c: too many arguments to function
#6 lore raw
Quoted 39 lines · Avi Kivity
Quoted 28 lines · Juan Quintela
Quoted 3 lines

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),
....
}

Quoted 9 lines

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.

Quoted 1 line

end of next week?

Humm, for Spaniards weeks start on Monday :) (Monday is holiday here).

I mean here Friday 21.

Quoted 7 lines
Quoted 3 lines

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.

Quoted 1 line

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.

#7 lore raw
Quoted 5 lines · Juan Quintela
Quoted 5 lines
Quoted 5 lines

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.

Quoted 7 lines
Quoted 4 lines

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.

If the guest does any work, it will always happen.

Quoted 6 lines
Quoted 3 lines

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?

A week is fine. I'm not going to release 0.12.4.1 for the week until you fix it, and just changing things in git doesn't help users.

Signature · 1 line
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
#8 lore raw
Quoted 1 line · Avi Kivity

On 05/16/2010 11:04 PM, Juan Quintela wrote:

[]

Quoted 6 lines
Quoted 3 lines
Quoted 1 line

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?

A week is fine. I'm not going to release 0.12.4.1 for the week until you fix it, and just changing things in git doesn't help users.

There are at least 1 other problem in the migration code that's worth looking at (IMHO anyway): namely, migration on 32 bit host is completely (as far as i can see) broken (instant kvm process crash) in 0.12, but it works on 64bits:

http://www.mail-archive.com/[email protected]/msg34051.html

I wonder why it is not noticed before -- it's broken since 0.12...

Thanks!

/mjt

#9 lore raw
Quoted 10 lines · Michael Tokarev
Quoted 1 line · Avi Kivity

On 05/16/2010 11:04 PM, Juan Quintela wrote:

[]

Quoted 6 lines
Quoted 3 lines
Quoted 1 line

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?

A week is fine. I'm not going to release 0.12.4.1 for the week until you fix it, and just changing things in git doesn't help users.

Quoted 8 lines

There are at least 1 other problem in the migration code that's worth looking at (IMHO anyway): namely, migration on 32 bit host is completely (as far as i can see) broken (instant kvm process crash) in 0.12, but it works on 64bits:

http://www.mail-archive.com/[email protected]/msg34051.html

I wonder why it is not noticed before -- it's broken since 0.12...

People has become rich and everybody has a 64 bit hardware :-)

Will take a look at the end of the week.

Thank for the report, Juan.

#10 lore raw
Quoted 1 line · Juan Quintela

Michael Tokarev<[email protected]> wrote:

[]

Quoted 4 lines
Quoted 2 lines

http://www.mail-archive.com/[email protected]/msg34051.html
I wonder why it is not noticed before -- it's broken since 0.12...

People has become rich and everybody has a 64 bit hardware :-)

Actually I don't think there's a CPU that's 32bits and has necessary VT instructions. At least not the ones to care about - maybe there were some models but they'e not common and are gone long time ago.

But apparently there are quite some people who use 32bit OS on 64bit-capable hardware, for one reason or another. I'm doing it due to historical reasons, but at least I'm running 64bit kernel... ;)

Quoted 1 line

Will take a look at the end of the week.

Thank you!

/mjt

#11 lore raw
Quoted 6 lines · Michael Tokarev
Quoted 1 line · Juan Quintela

Michael Tokarev<[email protected]> wrote:

[]

Quoted 3 lines
Quoted 2 lines

http://www.mail-archive.com/[email protected]/msg34051.html
I wonder why it is not noticed before -- it's broken since 0.12...

Quoted 6 lines
Quoted 1 line

People has become rich and everybody has a 64 bit hardware :-)

Actually I don't think there's a CPU that's 32bits and has necessary VT instructions. At least not the ones to care about - maybe there were some models but they'e not common and are gone long time ago.

Intel Core Solo / Core Duo (old)
Intel Atom z5xx (new)

In fact, my mobile KVM development machine is a z530 based notebook. That one's 32-bit only. But then again I have no idea why anyone would need migration there.

Alex

#12 lore raw
In reply to Juan Quintela
Quoted 25 lines · Juan Quintela

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),
....
}

Quoted 8 lines

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

#13 lore raw
Quoted 35 lines · Jan Kiszka
Quoted 25 lines · Juan Quintela

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),
....
}

Quoted 8 lines

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.

Quoted 3 lines

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.

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.

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 :)

#14 lore raw
Quoted 35 lines · Juan Quintela
Quoted 34 lines · Jan Kiszka
Quoted 33 lines · Juan Quintela

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.

Quoted 5 lines
Quoted 3 lines

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.

Quoted 8 lines

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.

Quoted 7 lines

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

#15 lore raw
Quoted 74 lines · Jan Kiszka
Quoted 38 lines · Juan Quintela
Quoted 36 lines · Jan Kiszka
Quoted 34 lines · Juan Quintela

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.

Quoted 6 lines
Quoted 4 lines

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.

Quoted 8 lines

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.

Quoted 7 lines

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 :)

Quoted 5 lines

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