Hello,
this mail is something between a bug report and a warning to other users of
libvirt, before they also experience the problem I encountered today:
I just hat the painful experience of trying to install some newer versions of
qemu(-kvm) and libvirt on a system with many managedsave-states and many
snapshots. They are now all broken because
1. Newer qemu(-kvm) uses iPXE instead of etherboot, which have different ROM
file sizes, which aborts loading the old VM state. So be careful to not
delete your old PXE-ROM images.
2. libvirt defaults to add ',multifuntion=on' to the (in my case) rtl8139
network card and balloon-driver, which produces the "really helpful" message
of
qemu: warning: error while loading state for instance 0x0 of
device '0000:00:03.0/rtl8139'
or
qemu: warning: error while loading state for instance 0x0 of device 'ram'
Nothing you can't fix with installing the old etherboot-qemu package and some
dirty "dd"-hackery on your saved files and snapshot xml files to add an
explicit 'multifunction=off', but hard to diagnose and annoying enough.
So even if the qemu people try to be backward compatible with their VMState
format, libvirt doesn't seem to handle backward compatibility taht good at
the moment.
Perhaps it would help to not (only) store the XML domain configuration for
snapshots and managedsave-files, but the exact qemu-argv string to at least
get libvirt out of any backward incompatible changes when re-constructing the
qemu command line from the XML data.
Sincerely
Philipp
PS: I hope that info helps other people when getting those messages.
--
Philipp Hahn Open Source Software Engineer hahn(a)univention.de
Univention GmbH Linux for Your Business fon: +49 421 22 232- 0
Mary-Somerville-Str.1 D-28359 Bremen fax: +49 421 22 232-99
http://www.univention.de/