]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
libxl: fix regression introduced by commit 4ab8cd77
authorJim Fehlig <jfehlig@suse.com>
Sat, 14 Mar 2015 00:36:04 +0000 (18:36 -0600)
committerJim Fehlig <jfehlig@suse.com>
Mon, 16 Mar 2015 17:49:58 +0000 (11:49 -0600)
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.

src/libxl/libxl_conf.c

index 5ad453e22ca2d96cf8d9dcc49be19071b99c8ad0..80dd5a884f9aec6e6b784d975ef5abf5915bb72d 100644 (file)
@@ -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