On 03/09/2011 09:54 PM, Laine Stump wrote: > On 03/09/2011 03:42 PM, Eric Blake wrote: >> * src/qemu/qemu_hotplug.c (qemuDomainAttachNetDevice): Honor vhost >> designations, similar to qemu_command code paths. >> * src/qemu/qemu_command.h (qemuOpenVhostNet): New prototype. >> * src/qemu/qemu_command.c (qemuOpenVhostNet): Export. >> --- >> + if (net->type == VIR_DOMAIN_NET_TYPE_NETWORK || >> + net->type == VIR_DOMAIN_NET_TYPE_BRIDGE || >> + net->type == VIR_DOMAIN_NET_TYPE_DIRECT) { >> + /* Attempt to use vhost-net mode for these types of >> + network device */ >> + if (qemuOpenVhostNet(net, qemuCaps,&vhostfd)< 0) >> + goto cleanup; >> + >> + if (vhostfd>= 0&& >> + priv->monConfig->type != VIR_DOMAIN_CHR_TYPE_UNIX) { >> + qemuReportError(VIR_ERR_CONFIG_UNSUPPORTED, >> + _("network device type '%s' cannot be >> attached: " >> + "qemu is not using a unix socket monitor"), >> + virDomainNetTypeToString(net->type)); >> + goto cleanup; >> + } > > > The above check has already been handled by a combination of the checks > in the if { } else if { } block above, so it's superfluous here. > > ACK with this extra check for monConfig-type removed. Indeed. I simplified as follows, then pushed. diff --git c/src/qemu/qemu_hotplug.c i/src/qemu/qemu_hotplug.c index e8567ad..540939a 100644 --- c/src/qemu/qemu_hotplug.c +++ i/src/qemu/qemu_hotplug.c @@ -578,6 +578,8 @@ int qemuDomainAttachNetDevice(virConnectPtr conn, if ((tapfd = qemuNetworkIfaceConnect(conn, driver, net, qemuCaps)) < 0) return -1; + if (qemuOpenVhostNet(net, qemuCaps, &vhostfd) < 0) + goto cleanup; } else if (net->type == VIR_DOMAIN_NET_TYPE_DIRECT) { if (priv->monConfig->type != VIR_DOMAIN_CHR_TYPE_UNIX) { qemuReportError(VIR_ERR_CONFIG_UNSUPPORTED, @@ -592,24 +594,8 @@ int qemuDomainAttachNetDevice(virConnectPtr conn, vm->def->uuid, VIR_VM_OP_CREATE)) < 0) return -1; - } - - if (net->type == VIR_DOMAIN_NET_TYPE_NETWORK || - net->type == VIR_DOMAIN_NET_TYPE_BRIDGE || - net->type == VIR_DOMAIN_NET_TYPE_DIRECT) { - /* Attempt to use vhost-net mode for these types of - network device */ if (qemuOpenVhostNet(net, qemuCaps, &vhostfd) < 0) goto cleanup; - - if (vhostfd >= 0 && - priv->monConfig->type != VIR_DOMAIN_CHR_TYPE_UNIX) { - qemuReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("network device type '%s' cannot be attached: " - "qemu is not using a unix socket monitor"), - virDomainNetTypeToString(net->type)); - goto cleanup; - } } if (VIR_REALLOC_N(vm->def->nets, vm->def->nnets+1) < 0) -- Eric Blake eblake@xxxxxxxxxx +1-801-349-2682 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list