From: Jim Fehlig Date: Sat, 14 Mar 2015 00:36:04 +0000 (-0600) Subject: libxl: fix regression introduced by commit 4ab8cd77 X-Git-Tag: v1.2.14-rc1~132 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a7d6b94a00c6d13430229e9ac77e82c8be578337;p=thirdparty%2Flibvirt.git libxl: fix regression introduced by commit 4ab8cd77 Commit 4ab8cd77 added a check requiring input devices to have a bus type of VIR_DOMAIN_INPUT_BUS_USB, failing to start the domain otherwise. But virDomainDefParseXML adds implicit mouse and keyboard if a graphics device is configured. See calls to virDomainDefMaybeAddInput. The regression is fixed by removing the check requiring USB input devices, and skipping non-USB input devices when populating USB 'usbdevice' in libxl_domain_build_info struct. --- diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index 5ad453e22c..80dd5a884f 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -750,13 +750,6 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, libxl_defbool_set(&b_info->u.hvm.sdl.enable, 0); if (def->ninputs) { - for (i = 0; i < def->ninputs; i++) { - if (def->inputs[i]->bus != VIR_DOMAIN_INPUT_BUS_USB) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("libxenlight supports only USB input")); - return -1; - } - } #ifdef LIBXL_HAVE_BUILDINFO_USBDEVICE_LIST if (VIR_ALLOC_N(b_info->u.hvm.usbdevice_list, def->ninputs+1) < 0) return -1; @@ -769,6 +762,10 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, #endif for (i = 0; i < def->ninputs; i++) { char **usbdevice; + + if (def->inputs[i]->bus != VIR_DOMAIN_INPUT_BUS_USB) + continue; + #ifdef LIBXL_HAVE_BUILDINFO_USBDEVICE_LIST usbdevice = &b_info->u.hvm.usbdevice_list[i]; #else