On 06/02/2011 10:23 AM, Heath Petersen wrote: > I have been finding that some UML command line networking parameters are > being generated incorrectly. Attached is a patch that corrects the > problem. > > For more information, see > https://bugzilla.redhat.com/show_bug.cgi?id=706295 . Thanks for the patch. I ended up rewriting your patch, but I'm still pushing this in your name: > > diff -Naur libvirt-0.9.1.orig/src/uml/uml_conf.c libvirt-0.9.1.new/src/uml/uml_conf.c > --- libvirt-0.9.1.orig/src/uml/uml_conf.c 2011-03-01 01:03:32.000000000 -0600 > +++ libvirt-0.9.1.new/src/uml/uml_conf.c 2011-05-27 20:27:26.563772975 -0500 > @@ -208,6 +208,11 @@ > case VIR_DOMAIN_NET_TYPE_ETHERNET: > /* ethNNN=tuntap,tapname,macaddr,gateway */ > virBufferAddLit(&buf, "tuntap"); > + if (def->ifname) { > + virBufferVSprintf(&buf, ",%s", def->ifname); Your patch was based off of 0.9.1, but it is better to base off of libvirt.git HEAD; there, we renamed virBufferVSprintf -> virBufferAsprintf. > + } else { > + virBufferAddLit(&buf, ","); virBufferAddChar is more efficient here. But after I made those two tweaks, I noticed that it is even more efficient to always print the comma as part of the previous literal: diff --git i/src/uml/uml_conf.c w/src/uml/uml_conf.c index be902a6..0122472 100644 --- i/src/uml/uml_conf.c +++ w/src/uml/uml_conf.c @@ -207,11 +207,9 @@ umlBuildCommandLineNet(virConnectPtr conn, case VIR_DOMAIN_NET_TYPE_ETHERNET: /* ethNNN=tuntap,tapname,macaddr,gateway */ - virBufferAddLit(&buf, "tuntap"); + virBufferAddLit(&buf, "tuntap,"); if (def->ifname) { - virBufferAsprintf(&buf, ",%s", def->ifname); - } else { - virBufferAddChar(&buf, ','); + virBufferAdd(&buf, def->ifname, -1); } if (def->data.ethernet.ipaddr) { umlReportError(VIR_ERR_INTERNAL_ERROR, "%s", I also added you to AUTHORS; feel free to let me know if you prefer any alternate spelling. -- 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