On Mon, Jun 01, 2015 at 09:52:45AM +0100, Ian Campbell wrote: > 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? >
Yes, that would be best. Wei. > Ian. > -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html