[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH net] xen: netback: read hotplug script once at start of day.



On Fri, 2015-05-29 at 18:38 +0100, Wei Liu wrote:
> On Fri, May 29, 2015 at 05:24:53PM +0100, Ian Campbell wrote:
> [...]
> >     if (be->vif != NULL)
> >             return 0;
> > @@ -417,12 +409,23 @@ static int backend_create_xenvif(struct backend_info 
> > *be)
> >             return (err < 0) ? err : -EINVAL;
> >     }
> >  
> > +   script = xenbus_read(XBT_NIL, dev->nodename, "script", NULL);
> > +   if (IS_ERR(script)) {
> > +           int err = PTR_ERR(script);
> > +           xenbus_dev_fatal(dev, err, "reading script");
> > +           return err;
> > +   }
> > +
> >     vif = xenvif_alloc(&dev->dev, dev->otherend_id, handle);
> >     if (IS_ERR(vif)) {
> >             err = PTR_ERR(vif);
> >             xenbus_dev_fatal(dev, err, "creating interface");
> > +           kfree(script);
> >             return err;
> >     }
> > +
> > +   vif->hotplug_script = script;
> > +
> 
> IMO it's better we make xenvif_alloc accept a new parameter called
> "script" then allocate vif->hotplug_script there. Then free
> vif->hotplug_script in xenvif_free. This way it's less error prone
> because all memory allocated for vif is managed in proper place -
> xenvif_alloc and xenvif_free.

Well, except the allocation is still in xenbus_read via
backend_create_xenvif, but yes I think that refactoring would be an
improvement.

What about storing it in struct backend_info and setting/restoring in
netback_{probe,remove}? That might be best of all?

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.