|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 2/5] libxl: add new pvusb backend "qusb" provided by qemu
On 25/03/16 03:23, Chun Yan Liu wrote:
>
>
>>>> On 3/23/2016 at 08:24 PM, in message
> <1458735847-9448-3-git-send-email-jgross@xxxxxxxx>, Juergen Gross
> <jgross@xxxxxxxx> wrote:
>> Add a new pvusb backend type "qusb" which is provided by qemu. It can
>> be selected either by specifying the type directly in the configuration
>> or it is selected automatically by libxl in case there is no "usbback"
>> driver loaded.
>>
>> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
>> ---
>> docs/man/xl.cfg.pod.5 | 11 +++-
>> tools/libxl/libxl_device.c | 3 +-
>> tools/libxl/libxl_dm.c | 8 +++
>> tools/libxl/libxl_internal.h | 1 +
>> tools/libxl/libxl_pvusb.c | 102
>> +++++++++++++++++++++++++++--------
>> tools/libxl/libxl_types.idl | 1 +
>> tools/libxl/libxl_types_internal.idl | 1 +
>> 7 files changed, 101 insertions(+), 26 deletions(-)
>>
>> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
>> index fc7bdab..2db8b1b 100644
>> --- a/tools/libxl/libxl_internal.h
>> +++ b/tools/libxl/libxl_internal.h
>> @@ -22,6 +22,21 @@
>>
>> #define USBHUB_CLASS_CODE 9
>>
>> +static int usbback_is_loaded(libxl__gc *gc)
>> +{
>> + int r;
>> + struct stat st;
>> +
>> + r = lstat(SYSFS_USBBACK_DRIVER, &st);
>> +
>> + if (r == 0)
>> + return 1;
>> + if (r < 0 && errno == ENOENT)
>> + return 0;
>> + LOGE(ERROR, "Accessing %s", SYSFS_USBBACK_DRIVER);
>> + return -1;
>> +}
>> +
>> static int libxl__device_usbctrl_setdefault(libxl__gc *gc, uint32_t domid,
>> libxl_device_usbctrl *usbctrl)
>> {
>> @@ -36,7 +51,8 @@ static int libxl__device_usbctrl_setdefault(libxl__gc *gc,
>>
>> uint32_t domid,
>>
>> if (usbctrl->type == LIBXL_USBCTRL_TYPE_AUTO) {
>> if (domtype == LIBXL_DOMAIN_TYPE_PV) {
>> - usbctrl->type = LIBXL_USBCTRL_TYPE_PV;
>> + usbctrl->type = usbback_is_loaded(gc) ? LIBXL_USBCTRL_TYPE_PV
> The condition should be (usbback_is_loaded(gc) > 0)?
> usbback_is_loaded(gc) < 0 means lstat error, cannot determine if the
> usbback driver is loaded.
Good point. I think in error case I should rather abort the operation.
Thoughts?
Juergen
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |