On 06/11/2014 10:10 AM, Daniel P. Berrange wrote: > On Wed, Jun 11, 2014 at 10:00:24AM -0400, John Ferlan wrote: >> >> >> On 06/11/2014 05:31 AM, Daniel P. Berrange wrote: >>> On Tue, Jun 10, 2014 at 03:03:55PM -0400, John Ferlan wrote: >>> >>> Where is the data from the 'unique_id' coming from ? Is this since that >>> Linux makes up, or is it some standard attribute from the hardware ? It >>> would be desirable to document what it is in a way that's not simply >>> refering to Linux sysfs, since sysfs itself is mostly undocumented :-) >>> >>> >> >> Using 'unique_id' was from Osier's initial design - I 'assumed' that his >> research into this had determined using this was unique enough. >> >> A small amount of searching turns this up: >> >> https://lkml.org/lkml/2011/8/17/274 >> ... >> +What: /sys/bus/scsi/devices/host*/scsi_host/host*/unique_id >> +Date: February, 2003 >> +KernelVersion: Unknown >> +Contact: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> >> +Description: >> + Read only unsigned integer uniquely identifying the SCSI host >> + within the system. This value is assigned by the low level >> + driver. >> + >> ... >> >> >> Also from various sources, there's '/linux/include/scsi/scsi_host.h >> >> /* >> * This is a unique identifier that must be assigned so that we >> * have some way of identifying each detected host adapter properly >> * and uniquely. For hosts that do not support more than one card >> * in the system at one time, this does not need to be set. It is >> * initialized to 0 in scsi_register. >> */ >> unsigned int unique_id; > > Hmm, that's all rather fuzzy. I wonder how much "better" this is unique > int ID is than the current hostNN numbers. eg is this unique id stable > when you plug / unplug iSCSI targets in arbitrary order > Not sure I can answer with authority on the plug/unplug topic; however, as I understand it the hostNN numbers can "change" what they are pointing at after perhaps a reboot or scsi kernel module reload. I'm not an expert in these matters, but as I do understand it hardware is scanned and devices named in the order they are found. Using the PCI address and unique_id in combination provides a bit more of a chance that if the hostNN number changes, then libvirt will/could find the same adapter that was previously used. John -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list