[libvirt] [PATCH v2 3/3] qemu: search usb device accurately to improve usb device hotplug

Guannan Ren gren at redhat.com
Thu May 3 09:03:16 UTC 2012


On 05/03/2012 02:06 AM, Osier Yang wrote:
> On 2012年05月01日 16:16, Guannan Ren wrote:
>> One usb device could be allowed to hotplug in at a time. If user
>> give a xml as follows.
>
> s/give/gives/
>
> Probably there are two usb devices avaiable
>
> s/avaiable/available/
>
>> but with different value of "bus, device"
>>
>> we give a error to let user use<address>  to specify the desired one.
>>
>> <hostdev mode='subsystem' type='usb' managed='yes'>
>> <source>
>> <vendor id='0x15e1'/>
>> <product id='0x2007'/>
>> </source>
>> </hostdev>
>> ---
>>
>> -        hostdev->source.subsys.u.usb.bus = usbDeviceGetBus(usb);
>> -        hostdev->source.subsys.u.usb.device = usbDeviceGetDevno(usb);
>> +        if (usbDeviceListAdd(list, usb)<  0) {
>> +            usbFreeDevice(usb);
>> +            goto cleanup;
>> +        }
>>
>> -        usbFreeDevice(usb);
>> -    }
>> +        if (qemuPrepareHostdevUSBDevices(driver, vm->def->name, 
>> list)<  0)
>> +            goto cleanup;
>
> Do we really need a list here? there is only found usb device is , I 
> guess
> the only purpose is to take use of the new helper function
> qemuPrepareHostdevUSBDevices, I.e. to use the new helper function,
> it create a new list, and the only one usb device is inserted to
> and removed from the list. IMO it's a waste.
>

       qemuPrepareHostUSBDevices probably have multiple devices to add 
to qemu driver
       Usb hotplug shares the function for the job, that's it.

       Guannan Ren





More information about the libvir-list mailing list