On 01/19/2011 11:19 AM, Daniel P. Berrange wrote:

In our past experiance though, *not* specifying attributes like
these has also been pretty bad from a forward compatibility
perspective too. We're kind of damned either way, so on balance
we decided we'd specify every attribute in qdev that's related
to unique identification of devices&  their inter-relationships.
By strictly locking down the topology we were defining, we ought
to have a more stable ABI in face of future changes. I accept
this might not always work out, so we may have to adjust things
over time still. Predicting the future is hard :-)

There are two distinct things here:

1) creating exactly the same virtual machine (like for migration) given a newer version of QEMU

2) creating a reasonably similar virtual machine given a newer version of QEMU

For (1), you cannot use -M pc. You should use things like bus=X,addr=Y much better is for QEMU to dump a device file and to just reuse that instead of guessing what you need.

For (2), you cannot use bus=X,addr=Y because it makes assumptions about the PCI topology which may change in newer -M pc's.

I think libvirt needs to treat this two scenarios differently to support forwards compatibility.

Regards,

Anthony Liguori

Daniel


Reply via email to