Thanks Jan.

On 4 December 2015 at 17:30, Ján Tomko <jtomko@redhat.com> wrote:
On Fri, Dec 04, 2015 at 10:42:30AM +0800, Tashi Lu wrote:
> Hi everyone,
>
> I incidentally configured two IDE controller for my machine-1.2 VM(it
> might be virsh attach-disk to blame), and I got the error message
> "Only a single IDE controller is unsupported...". I can't understand
> this error message, I think it means I HAVE to configure two or more
> IDE controllers until I looked it up in the source.
>
> At libvirt-1.2.22/src/qemu/qemu_command.c:
>
>  4916     case VIR_DOMAIN_CONTROLLER_TYPE_IDE:
>  4917         /* Since we currently only support the integrated IDE controller
>  4918          * on 440fx, if we ever get to here, it's because some other
>  4919          * machinetype had an IDE controller specified, or a 440fx had
>  4920          * multiple ide controllers.
>  4921          */
>  4922         if (qemuDomainMachineIsI440FX(domainDef))
>  4923             virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
>  4924                            _("Only a single IDE controller is
> unsupported "
>  4925                              "for this machine type"));
>
> I didn't dig VIR_DOMAIN_CONTROLLER_TYPE_IDE up, but reasoning from the
> comment, I think this error message should be something like "More
> than one IDE controllers is not supported for this machine type"
>

The following commit replaced "unsupported" by "supported" in the error
message:

http://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=e4ab3b5d
commit e4ab3b5d38bfbaef3cfe9da07ffafca0904e69da
Author:     Guido Günther <agx@sigxcpu.org>
CommitDate: 2015-11-23 09:39:29 +0100

    qemu: handle more machines with a single builtin IDE controller

    like I440FX by moving the condition into qemuDomainMachineHasBuiltinIDE
    and adding more machines.

    Reference: http://bugs.debian.org/805189

git describe: v1.2.21-112-ge4ab3b5 contains: v1.3.0-rc1~91

It will be released in libvirt 1.3.0.

Jan