[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Bug in usbdevices option handling when BusID=8
On 12/12/2013 05:01 PM, Anthony PERARD wrote: On Mon, Aug 05, 2013 at 08:20:08PM +0100, Gordan Bobic wrote:On 08/05/2013 02:22 PM, George Dunlap wrote:On Mon, Aug 5, 2013 at 8:29 AM, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:On Sun, 2013-08-04 at 12:08 +0100, Gordan Bobic wrote:At a glance, this looks like something buggy happens when BusID=8. It sees that the device is host:008.002, but then goes and tries to open /dev/bus/usb/000/002 instead of /dev/bus/usb/008/002.Smells like a bitmask gone wrong somewhere, or something like that. xl/libxl doesn't really do much with the string which you passed in so it should be going straight to qemu unmodified. You ought to be able to see this in the logs I think.Or using ps -ax -- what does that show the command-line to be?It looks like a qemu-traditional (qemu-dm) issue: # grep usb /var/log/xen/qemu-dm-edi.log husb: open device 0.2 /dev/bus/usb/000/002: No such file or directory # ps auxw | grep qemu root 8364 4.4 0.0 239132 8880 ? SLsl 20:16 0:07 /usr/lib/xen/bin/qemu-dm -d 1 -domain-name edi -vnc 127.0.0.1:0 -vncunused -k en-gb -serial pty -videoram 8 -std-vga -boot c -usb -usbdevice host:008.002 -acpi -vcpus 8 -vcpu_avail 0xff -net nic,vlan=0,macaddr=00:16:3e:4e:c5:0c,model=e1000 -net tap,vlan=0,ifname=vif1.0-emu,bridge=br0,script=no,downscript=no -M xenfvI've just look into this bug. The problem is the way the convertion of the string is done. And it is just a: strtoul(devname, NULL, 0); Here, strtoul while try to guess the base of the string, and a string that begin by zero while be interpreted to be base 8, or octal. The character '8' those not belong to this base, so the conversion stop before '8' and the value return is 0. We could force the base to be 10, but that mean that anyone who whould have something like "host:0x4.0x2" while have a configuration that those not work anymore. In your case, you can have: usbdevice="host:8.2" which will fix the issue. What does qemu-xen do?I'm not sure "host:0x04.0x2" is a supported format. You can see that "00x" is used in Linux in /dev; it's also used in lsusb, for instance, and I think a number of the other tools. I think it would make much more sense to match the format of these other tools, than to allow people to specify it in hex (using "0x") and have people trip over issues like this. -George _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |