Skip to contentSkip to conversation

can't restore a guest saved by an older qemu

PATCH Applied Ren, Yongjie 4 participants 6 messages Mar 2, 2012 – Mar 7, 2012 KVM

lore
Share & tools
lore
#0 lore raw

Hi Avi,
I can't restore a guest saved by an older qemu. I wonder if this issue is introduced by some latest commits on the file 'hw/i8254.c'.
The new commit: b5ed4b6f (on Mar 1) I tried to restore a guest using this qemu.
The old commit: 9d636ae7 (on Feb 11) I saved a guest using this qemu.

I got some error when restoring a guest saved by an old qemu now.
[root@vt-nhm9 jay]# qemu-system-x86_64 -smp 4 -m 1024 -hda rhel6u1.qcow -incoming "exec:dd if=save.img" Could not open option rom 'vapic.bin': No such file or directory
qemu-system-x86_64: pci_add_option_rom: failed to find romfile "pxe-rtl8139.rom"
VNC server running on `::1:5900'
Unknown ramblock "0000:00:03.0/rtl8139.rom", cannot accept migration
qemu: warning: error while loading state for instance 0x0 of device 'ram'
load of migration failed
dd: writing to `standard output': Broken pipe
193+0 records in
192+0 records out
98304 bytes (98 kB) copied, 0.00713571 s, 13.8 MB/s

A good one is something like the following.
[root@vt-nhm9 jay]# ~/qemu-kvm/x86_64-softmmu/qemu-system-x86_64 -smp 4 -m 1024 -hda rhel6u1.qcow -incoming "exec:dd if=save1.img" VNC server running on `::1:5900'
781430+1 records in
781430+1 records out
400092473 bytes (400 MB) copied, 1.03926 s, 385 MB/s

Best Regards,
Yongjie Ren (Jay)

#1 lore raw
Quoted 5 lines · Yongjie

Hi Avi,
I can't restore a guest saved by an older qemu. I wonder if this issue is introduced by some latest commits on the file 'hw/i8254.c'.
The new commit: b5ed4b6f (on Mar 1) I tried to restore a guest using this qemu.
The old commit: 9d636ae7 (on Feb 11) I saved a guest using this qemu.

Quoted 8 lines

I got some error when restoring a guest saved by an old qemu now.
[root@vt-nhm9 jay]# qemu-system-x86_64 -smp 4 -m 1024 -hda rhel6u1.qcow -incoming "exec:dd if=save.img" Could not open option rom 'vapic.bin': No such file or directory
qemu-system-x86_64: pci_add_option_rom: failed to find romfile "pxe-rtl8139.rom"
VNC server running on `::1:5900'
Unknown ramblock "0000:00:03.0/rtl8139.rom", cannot accept migration
qemu: warning: error while loading state for instance 0x0 of device 'ram'
load of migration failed

Confirmed. I get a different error, but something is broken here as well. Bisecting...

Thanks,
Jan

Signature · 2 lines
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
#2 lore raw

After restoring i8254, the f->buf_index points to a wrong place. It should be caused by loading i8254.

best regards
yang

Quoted 40 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Jan Kiszka
Sent: Friday, March 02, 2012 4:48 PM
To: Ren, Yongjie
Cc: Avi Kivity; KVM list
Subject: Re: can't restore a guest saved by an older qemu

Quoted 2 lines · Yongjie

Hi Avi,
I can't restore a guest saved by an older qemu. I wonder if this issue is

introduced by some latest commits on the file 'hw/i8254.c'.

Quoted 1 line

The new commit: b5ed4b6f (on Mar 1) I tried to restore a guest using this

qemu.

Quoted 4 lines

The old commit: 9d636ae7 (on Feb 11) I saved a guest using this qemu.

I got some error when restoring a guest saved by an old qemu now. [root@vt-nhm9 jay]# qemu-system-x86_64 -smp 4 -m 1024 -hda rhel6u1.qcow

-incoming "exec:dd if=save.img"

Quoted 2 lines

Could not open option rom 'vapic.bin': No such file or directory
qemu-system-x86_64: pci_add_option_rom: failed to find romfile

"pxe-rtl8139.rom"

Quoted 4 lines

VNC server running on `::1:5900'
Unknown ramblock "0000:00:03.0/rtl8139.rom", cannot accept migration
qemu: warning: error while loading state for instance 0x0 of device 'ram' load of migration failed

Confirmed. I get a different error, but something is broken here as well. Bisecting...

Thanks,
Jan

--
Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux
--
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected] More majordomo info at
http://vger.kernel.org/majordomo-info.html

#3 lore raw

PATCH 1/1 qemu-kvm: Fix migration from older version due to i8254 changes

Old qemu-kvm already contained an equivalent field to i8254's irq_disabled. We therefore have to remove upstream's version restriction here to allow migration from older versions.

---
 hw/i8254.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
hw/i8254.c +1 -1
index e5cda2f..33d94e1 100644
@@ -469,7 +469,7 @@ VMStateDescription vmstate_pit = {
     .minimum_version_id_old = 1,
     .load_state_old = pit_load_old,
     .fields      = (VMStateField []) {
-        VMSTATE_UINT32_V(channels[0].irq_disabled, PITState, 3),
+        VMSTATE_UINT32(channels[0].irq_disabled, PITState), /* qemu-kvm's v2 had 'flags' here */
         VMSTATE_STRUCT_ARRAY(channels, PITState, 3, 2, vmstate_pit_channel, PITChannelState),
         VMSTATE_TIMER(channels[0].irq_timer, PITState),
         VMSTATE_END_OF_LIST()
Signature · 1 line
1.7.3.4
#4 lore raw

RE: [PATCH] qemu-kvm: Fix migration from older version due to i8254 changes

This patch works fine.

Tested by: Yongjie Ren <[email protected]>

Best Regards,
Yongjie Ren (Jay)

Quoted 34 lines

-----Original Message-----
From: Jan Kiszka [mailto:[email protected]]
Sent: Friday, March 02, 2012 5:21 PM
To: Avi Kivity; Marcelo Tosatti
Cc: Zhang, Yang Z; Ren, Yongjie; KVM list
Subject: [PATCH] qemu-kvm: Fix migration from older version due to i8254 changes

Old qemu-kvm already contained an equivalent field to i8254's irq_disabled. We therefore have to remove upstream's version restriction here to allow migration from older versions.

---
 hw/i8254.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
hw/i8254.c +1 -1
index e5cda2f..33d94e1 100644
@@ -469,7 +469,7 @@ VMStateDescription vmstate_pit = {
     .minimum_version_id_old = 1,
     .load_state_old = pit_load_old,
     .fields      = (VMStateField []) {
-        VMSTATE_UINT32_V(channels[0].irq_disabled, PITState, 3),
+        VMSTATE_UINT32(channels[0].irq_disabled, PITState), /*

qemu-kvm's v2 had 'flags' here */
VMSTATE_STRUCT_ARRAY(channels, PITState, 3, 2,
vmstate_pit_channel, PITChannelState),
VMSTATE_TIMER(channels[0].irq_timer, PITState), VMSTATE_END_OF_LIST()
--
1.7.3.4

Applied
#5 lore raw

Re: [PATCH] qemu-kvm: Fix migration from older version due to i8254 changes

In reply to Jan Kiszka
Quoted 4 lines · Jan Kiszka

Old qemu-kvm already contained an equivalent field to i8254's irq_disabled. We therefore have to remove upstream's version restriction here to allow migration from older versions.

Applied, thanks.

Signature · 1 line
error compiling committee.c: too many arguments to function