The scsi host example in
https://libvirt.org/formatdomain.html does not
make it clear what "<adapter name='scsi_host0'/>" refers to. It
implies
that any host #0 will be used. Since the index numbers for each host are
dynamic an unexpected device may be used by libvirt.
The reason I'm looking at this is to support vscsi in libxl. I have a
change for xl(1) and want to add also libvirt support.
The xend vscsi driver supported both H:C:T:L and /dev/whatever notation
to describe the physical dom0 device. This was translated into H:C:T:L
for the xenlinux backend driver. The new pvops backend driver
understands "naa.wwn:lun" and "H:C:T:L" format. My libxl
implementation
will also translate /dev/whatever into "naa.wwn:lun". My change supports
both xenlinux and pvops. I think its natural to refer to a
/dev/disk/by-*/* name for pdev, if the SCSI device supports that.
Looks like _virDomainHostdevSubsysSCSI->u.host is very limited in what
it accepts as input. What should be done to accept both "/dev/whatever"
and "naa.wwn:lun" as pdev?
The <address/> part looks like the same format what the frontend driver
understands: "host:channel:target:lun".
Olaf