For a long time, libvirt assumed by default that all types of virtual
machines had an integrated IDE controller named "ide" that wasn't
specified on the qemu commandline. Since that caused problems
specifically for the Q35 machine type (which has an *ahci* controller
that it perplexingly calls "ide"), I added code to libvirt to only make
that assumption for i440fx-based machinetypes, and to log an error and
fail in all other cases where someone tried to create a disk attached to
an IDE controller:
http://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=eadd757
(libvirt doesn't support explicitly adding IDE controllers on the qemu
commandline, under the assumption that 1) there are lots of better ways
to attach a disk and 2) nobody has asked for it up to now, and we don't
want to encourage them to start using something that is slow and
unnecessary).
But I just received an email from someone who informed me that the
"ppc-beigeg3" machine type also has an IDE controller, and that
additionally this is the *only* method of connecting a disk on this
particular machine. So now I'm wondering how I can determine what other
machinetypes have an integrated IDE controller, so that I can add them
to this check. (I would also like to find out which qemu binary supports
the "ppc-beigeg3" machinetype - I tried running "qemu-blah -M ?" for
every qemu binary on my Fedora 22 system, and didn't see anything like
that).