On Mon, Jul 23, 2012 at 14:19:13 +0200, Peter Krempa wrote: > Libvirt adds a USB controller to the guest even if the user does not > specify any in the XML. This is due to back-compat reasons. > > To allow disabling USB for a guest this patch adds a new USB controller > type "none" that disables USB support for the guest. > --- > Diff to v2: > - added docs to formatdomain.hmtl > - changed error reporting functions to global ones > --- > docs/formatdomain.html.in | 6 +++- > docs/schemas/domaincommon.rng | 1 + > src/conf/domain_conf.c | 55 ++++++++++++++++++++++++++++++++++++++++- > src/conf/domain_conf.h | 1 + > src/qemu/qemu_command.c | 3 +- > 5 files changed, 62 insertions(+), 4 deletions(-) > ... > diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c > index c53722a..cf3b1c4 100644 > --- a/src/conf/domain_conf.c > +++ b/src/conf/domain_conf.c ... > @@ -9043,6 +9074,14 @@ static virDomainDefPtr virDomainDefParseXML(virCapsPtr caps, > if (!hostdev) > goto error; > > + if (hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB && > + usb_none) { > + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", > + _("Can't add USB device passthrough: " I think "Can't add host USB device" would better fit the name of the element. > + "USB is disabled in this host")); > + goto error; > + } > + > def->hostdevs[def->nhostdevs++] = hostdev; > } > VIR_FREE(nodes); ... > @@ -9128,6 +9174,13 @@ static virDomainDefPtr virDomainDefParseXML(virCapsPtr caps, > if (!redirdev) > goto error; > > + if (redirdev->bus == VIR_DOMAIN_REDIRDEV_BUS_USB && usb_none) { > + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", > + _("Can't add USB redir device: " "Can't add redirected USB device" seems better to me. > + "USB is disabled for this domain")); > + goto error; > + } > + > def->redirdevs[def->nredirdevs++] = redirdev; > } > VIR_FREE(nodes); ... ACK Jirka -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list