[libvirt] [PATCH] qemu: use "ide" as device name for implicit SATA controller on Q35

Ján Tomko jtomko at redhat.com
Fri Sep 20 10:46:44 UTC 2013


On 09/20/2013 12:25 PM, Laine Stump wrote:
> This resolves https://bugzilla.redhat.com/show_bug.cgi?id=1008903
> 
> The Q35 machinetype has an implicit SATA controller at 00:1F.2 which
> isn't given the "expected" id of ahci0 by qemu when it's created. The
> original suggested solution to this problem was to not specify any
> controller for the disks that use the default controller and just
> specify "unit=n" instead; qemu should then use the first ide or sata
> controller for the disk.
> 
> Unfortunately, this "solution" is ignorant of the fact that in the
> case of SATA disks, the "unit" attribute in the disk XML is actually
> *not* being used for the unit, but is instead used to specify the
> "bus" number; each SATA controller has 6 buses, and each bus only
> allows a single unit. This makes it nonsensical to specify unit='n'
> where n is anything other than 0. It also means that the only way to
> connect more than a single device to the implicit SATA controller is
> to explicitly give the bus names, which happen to be "ide.$n", where
> $n can be replaced by the disk's "unit" number.
> ---
>  src/qemu/qemu_command.c                                | 15 ++++++---------
>  tests/qemuxml2argvdata/qemuxml2argv-pcihole64-q35.args |  2 +-
>  tests/qemuxml2argvdata/qemuxml2argv-q35.args           |  2 +-
>  3 files changed, 8 insertions(+), 11 deletions(-)

ACK




More information about the libvir-list mailing list