
On Fri, Sep 20, 2013 at 04:35:12PM +0200, Gerd Hoffmann wrote:
Hi,
1) Every SATA controller has 6 buses, and each bus allows a single target (or "unit").
That is how it is modeled in qemu, largely due to reusing the ide code.
On real hardware you have a sata controller with a number of ports (happens to be 6 for the one emulated by qemu, but that may be different on other controllers). You can plug a single device into each port. There is not really a concept of a sata bus.
Ok, so in libvirt terminology then, using 'unit' to map to the 'port' is what we want to be doing, and ignore the 'bus' attribute for sata drives.
(or are we just stuck with the current state of unit being interpreted as bus for sata addresses? :-/)
I'd say continuing using 'unit' is fine. When changing the way the address is specified in xml I'd rather go for something like this:
<address type=sata controller=0 port=2 />
We already use type=drive for addressing sata drives (and indeed any other drives attached to disk controllers), so we won't be inventing a new address type. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|