[libvirt] [PATCH] The logic in veth.c that searches for free interface names takes into account

Daniel Veillard veillard at redhat.com
Thu Aug 7 11:00:38 UTC 2008


On Thu, Aug 07, 2008 at 04:30:30AM -0400, Daniel Veillard wrote:
> On Wed, Aug 06, 2008 at 08:20:38AM -0700, Dan Smith wrote:
> > only current devices, but not device names already planned for the other
> > half of a container's device pair.  Thus, the search can result in attempting
> > to create a pair of devices such as veth1 and veth1, which obviously does
> > not work.
> > 
> > This patch augments the logic to be a little smarter in this regard, and should
> > fix one case where attempting to start a container results in an error message
> > of "unable to create device pair".
> [...]
> > -    if (1 > strlen(veth2)) {
> > +    while ((1 > strlen(veth2)) || STREQ(veth1, veth2)) {
> >          vethDev = getFreeVethName(veth2, veth2MaxLen, vethDev);
> >          DEBUG("assigned veth2: %s", veth2);
> >      }
> 
>   Seems a side effect statement is needed in this loop to exit it if we 
> happen to enter it, no ?

  okay, i re-read and understand now,

   +1

Daniel

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
veillard at redhat.com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/




More information about the libvir-list mailing list