[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 |