]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemuBuildDriveDevStr: Prefer default aliases for IDE bus
authorMichal Privoznik <mprivozn@redhat.com>
Thu, 9 Nov 2017 12:34:43 +0000 (13:34 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Fri, 10 Nov 2017 14:23:55 +0000 (15:23 +0100)
https://bugzilla.redhat.com/show_bug.cgi?id=1434451

When testing user aliases it was discovered that for 440fx
machine type which has default IDE bus builtin, domain cannot
start if IDE controller has the user provided alias. This is
because for 440fx we don't put the IDE controller onto the
command line (since it is builtin) and therefore any device that
is plugged onto the bus must use the default alias.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
src/qemu/qemu_command.c
tests/qemuxml2argvdata/qemuxml2argv-user-aliases.args

index 36419678398691777291f1c3a33008efd396d81b..6cc77df2ed1c7879fe2ab7db4fcf506d8249bc4f 100644 (file)
@@ -1886,9 +1886,17 @@ qemuBuildDriveDevStr(const virDomainDef *def,
             virBufferAddLit(&opt, "ide-drive");
         }
 
-        if (!(contAlias = virDomainControllerAliasFind(def, VIR_DOMAIN_CONTROLLER_TYPE_IDE,
-                                                       disk->info.addr.drive.controller)))
-           goto error;
+        /* When domain has builtin IDE controller we don't put it onto cmd
+         * line. Therefore we can't set its alias. In that case, use the
+         * default one. */
+        if (qemuDomainHasBuiltinIDE(def)) {
+            contAlias = "ide";
+        } else {
+            if (!(contAlias = virDomainControllerAliasFind(def,
+                                                           VIR_DOMAIN_CONTROLLER_TYPE_IDE,
+                                                           disk->info.addr.drive.controller)))
+                goto error;
+        }
         virBufferAsprintf(&opt, ",bus=%s.%d,unit=%d",
                           contAlias,
                           disk->info.addr.drive.bus,
index 62fbd567b1339ac3bde5730baf14c8d4c02a9b35..1719c1bc8825ad81ae2bdd8db008a103b18d6126 100644 (file)
@@ -44,8 +44,8 @@ id=drive-ua-myEncryptedDisk1 \
 id=ua-myEncryptedDisk1 \
 -drive file=/home/zippy/tmp/install-amd64-minimal-20140619.iso,format=raw,\
 if=none,media=cdrom,id=drive-ua-WhatAnAwesomeCDROM,readonly=on,cache=none \
--device ide-drive,bus=ua-DoesAnybodyStillUseIDE.1,unit=0,\
-drive=drive-ua-WhatAnAwesomeCDROM,id=ua-WhatAnAwesomeCDROM \
+-device ide-drive,bus=ide.1,unit=0,drive=drive-ua-WhatAnAwesomeCDROM,\
+id=ua-WhatAnAwesomeCDROM \
 -device virtio-net-pci,vlan=0,id=ua-CheckoutThisNIC,mac=52:54:00:d6:c0:0b,\
 bus=pci.0,addr=0x3 \
 -net tap,fd=3,vlan=0,name=hostua-CheckoutThisNIC \