On 03.04.2013 11:20, Christophe Fergeau wrote:
The current handling of bus types has some issues:
- it assumes that if the design uses a disk controller hanging off
a PCI bus, then it can use virtio, which is not true for
Windows for example unless an additional driver is installed
- it checks for "ide", "sata", "virtio" bus names, but they
are not
used in libosinfo, and "sata is not mentioned in libosinfo.rng
- if the bus type could not determined, falling back to an IDE
bus should be a safe guess
This commit changes the code to guessing the best disk controller
to use, and then derives the bus type from it when needed.
One limitation of this approach is that we are currently limited to
virtio or IDE as libosinfo is not expressive enough for us to tell
if a given disk controller is IDE/SATA/SCSI/...
One way of making this distinction possible would be to attach the
PCI subclass to libosinfo device descriptions as this contains the
information we need.
---
libvirt-designer/libvirt-designer-domain.c | 185 ++++++++++++++---------------
1 file changed, 91 insertions(+), 94 deletions(-)
For some reason this patch cannot be applied cleanly:
Applying: Rework disk bus type handling
error: patch failed: libvirt-designer/libvirt-designer-domain.c:992
error: libvirt-designer/libvirt-designer-domain.c: patch does not apply
Patch failed at 0001 Rework disk bus type handling
Michal