1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
other: 0.876
device: 0.855
semantic: 0.828
debug: 0.809
files: 0.728
graphic: 0.727
performance: 0.699
PID: 0.660
socket: 0.555
permissions: 0.522
boot: 0.482
network: 0.419
vnc: 0.399
KVM: 0.102
-device ide-hd will assign bus with with no free units
Originally filed here: https://bugzilla.redhat.com/show_bug.cgi?id=1000118
./x86_64-softmmu/qemu-system-x86_64 -device ahci -drive id=aa,file=/tmp/foo,if=none -drive id=bb,file=/tmp/foo,if=none -device ide-hd,drive=aa -device ide-hd,drive=bb
qemu-system-x86_64: -device ide-hd,drive=bb: Can't create IDE unit 1, bus supports only 1 units
qemu-system-x86_64: -device ide-hd,drive=bb: Device initialization failed.
qemu-system-x86_64: -device ide-hd,drive=bb: Device 'ide-hd' could not be initialized
If a bus isn't specified for -device ide-hd, it just uses the first bus it finds, not taking into account if that bus was already assigned for another device. So users are forced to do -device ide-hd,bus=ide.0 -device ide-hd,bus=ide.1, etc.
This isn't specific to -device ahci, but it's worse there since there isn't any -drive if=IDE or -hda convenience option, which both seem to get the logic correct.
I know -device is the 'build it yourself' approach so I understand if this is WONTFIX.
Is somebody still planning to fix this, or should this be closed as WONTFIX?
I'll re-investigate. I definitely fixed some of this (there is if=IDE for AHCI now), but I recall Markus mentioning recently that there are a lot of weird things quite broken with AHCI and bus assignment.
I'm working on several other IDE fixes for the next release, so we can add this one to the pile. I will leave it as "incomplete" for now since I need to re-assess.
[Expired for QEMU because there has been no activity for 60 days.]
|