From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: Re: [PATCH V4 3/7] libxl: add pvusb API [and 1 more messages] Date: Tue, 16 Jun 2015 14:37:50 +0100 Message-ID: <21888.9902.709503.386019@mariner.uk.xensource.com> References: <1433906441-3280-1-git-send-email-cyliu@suse.com> <1433906441-3280-4-git-send-email-cyliu@suse.com> <21887.64856.265751.921367@mariner.uk.xensource.com> <558000E5.9000803@suse.com> <21888.1058.681450.470806@mariner.uk.xensource.com> <5580079D.6070007@suse.com> <21888.4161.841504.686364@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <21888.1058.681450.470806@mariner.uk.xensource.com>, List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: George Dunlap Cc: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= , Wei Liu , Ian Campbell , Ian Jackson , Chunyan Liu , "xen-devel@lists.xen.org" , Jim Fehlig , Simon Cao List-Id: xen-devel@lists.xenproject.org George Dunlap writes ("Re: [Xen-devel] [PATCH V4 3/7] libxl: add pvusb API"): > Remember that the path you gave in your previous e-mail isn't the path > for the *usb device*, it's the path for the *block device*. It > contains a PCI address, but it looks like it also contains part of the > USB topology. Are you sure that's actually a stable interface, or > does it just happen that on your hardware the discovery always happens > in the same order? The block device is (in path terms) underneath the usb device, obviously. Not all of that path is relevant to identifying the USB device. > On my system /sys/bus/usb/devices/2-3.3 is a link to > /sys/devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3.3/. This contains > the pci bus address, but it also contains the bus number, which we've > just said may be unstable across reboots. You mean the 2 in `usb2' ? I think that bus number is the bus number within the controller, not globally. > I suppose it might be possible to specify -- the pci > address of the root bus, and the topology from there. In theory I > guess that should be stable? Yes. The whole point of paths like this is that they are stable if the physical topology doesn't change. So on my netbook /dev/disk/by-path/pci-0000:00:1d.7-usb-0:1:1.0-scsi-0:0:0:0-part1 always refers to the 1st MBR partition on logical device 0 on the USB storage device plugged into the USB port physically on the front left of the computer. > In any case, at the moment you're essentially inventing from whole > cloth a new way of specifying USB devices that (as far as I know) > isn't supported by any other program that uses USB. If you can't specify the device by hardware path, you can't specify it deterministically. And as you can see it _is_ supported by other programs that use USB. "mount" can use it! I think the hardware path to the controller, at least, should be treated as an opaque OS-specific string. It might have a different format on BSD. Ian.