[libvirt] [RFC] Can we error out early for unknown device models?

Martin Kletzander mkletzan at redhat.com
Wed Oct 22 11:58:43 UTC 2014


Hi everyone,

I had this idea that since we are probing QEMU binaries for devices
using 'qom-list-types', we could store that data in the capabilities
and check whether device models are supported before starting QEMU.
We do that for _some newer_ devices, but this would be global.  It
would help out particularly with devices like the following one, for
example:

 <interface type='network'>
   <source network='default'/>
   <model type='non-existing_device'/>
 </interface>

where we simply construct QEMU command-line with that device model and
it then properly errors out:

 error: internal error: process exited while connecting to monitor:
 qemu-system-x86_64: -device non-existing_device,...: Parameter
 'driver' expects device type

This would be easy to achieve with current data unless there are some
models hidden from qom-list-types' output.  I hope there are none.

When I checked the output of 'qemu-kvm -device \?', the devices listed
there are separated into categories and have buses assigned to them
and that lead me to another idea.  What if that data is added to
qom-list-types' output and used in libvirt as well?  We could then
solve another annoying cases like misusing devices or plugging them
into unsupported buses.  Although I don't know any person who would do
such a thing, even when solving the first idea, there'd still be a
possibility to do a thing like:

 <interface type='network'>
   <source network='default'/>
   <model type='AC97'/>
 </interface>

This idea is obviously meant for the QEMU driver, but if there's
something similar in other drivers, it might be useful as well.

I'd be interested in any feedback and welcome any ideas to whether it
is useful, how the storing should be done or even if it's something we
want to have or not.

Have a nice day,
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20141022/9d3202d1/attachment-0001.sig>


More information about the libvir-list mailing list