On Tue, Oct 09, 2012 at 02:13:25PM +0200, Jiri Denemark wrote:
--- src/qemu/qemu_cgroup.c | 2 ++ src/qemu/qemu_command.c | 20 +++++++++++++++----- src/qemu/qemu_hostdev.c | 20 +++++++++++++++----- src/qemu/qemu_hostdev.h | 3 ++- src/qemu/qemu_process.c | 2 +- 5 files changed, 35 insertions(+), 12 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 09f412e..d590df6 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3507,17 +3507,21 @@ qemuBuildUSBHostdevDevStr(virDomainHostdevDefPtr dev, { virBuffer buf = VIR_BUFFER_INITIALIZER;
- if (!dev->source.subsys.u.usb.bus && + if (!dev->missing && + !dev->source.subsys.u.usb.bus && !dev->source.subsys.u.usb.device) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("USB host device is missing bus/device information")); return NULL; }
- virBufferAsprintf(&buf, "usb-host,hostbus=%d,hostaddr=%d,id=%s", - dev->source.subsys.u.usb.bus, - dev->source.subsys.u.usb.device, - dev->info->alias); + virBufferAddLit(&buf, "usb-host"); + if (!dev->missing) { + virBufferAsprintf(&buf, ",hostbus=%d,hostaddr=%d", + dev->source.subsys.u.usb.bus, + dev->source.subsys.u.usb.device); + } + virBufferAsprintf(&buf, ",id=%s", dev->info->alias);
I'm curious about this - it will result in -device usb-host,id=XXXXX shouldn't we actually just leave out the entire arg. I'm not sure what QEMU would do with such a device specification. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|