On Mon, Nov 18, 2013 at 02:25:40PM +0100, Stefan Hajnoczi wrote:
> On Mon, Nov 18, 2013 at 04:20:12PM +0800, Amos Kong wrote:
> > @@ -967,6 +968,27 @@ void print_net_client(Monitor *mon, NetClientState *nc)
> >                     nc->info_str);
> >  }
> >  
> > +void rxfilter_notify(NetClientState *nc, Object *obj)
> > +{
> > +    QObject *event_data;
> > +    gchar *path = object_get_canonical_path(obj);
> > +
> > +    if (nc->rxfilter_notify_enabled) {
> > +        if (nc->name) {
> > +            event_data = qobject_from_jsonf("{ 'name': %s, 'path': %s }",
> > +                                            nc->name, path);
> > +        } else {
> > +            event_data = qobject_from_jsonf("{ 'path': %s }", path);
> > +        }
> > +        monitor_protocol_event(QEVENT_NIC_RX_FILTER_CHANGED, event_data);
> > +        qobject_decref(event_data);
> > +
> > +        /* disable event notification to avoid events flooding */
> > +        nc->rxfilter_notify_enabled = 0;
> 
> Only hw/net/virtio-net.c uses nc->rxfilter_notify_enabled.  This
> function isn't reusable in its current form so I'm left wondering what
> the point of this patch is?
> 
> If you have patches that invoke rxfilter_notify() from other NICs then
> please submit them together in a series.

I don't have patch to change other NICs to send rxfilter notify right
now.

So I will send a patch to fix the leak. We can move the function to
net.c in future.
 
> Otherwise, let's not move things around just for the sake of it,
> especially when the refactoring is not done correctly.
> 
> Stefan

-- 
                        Amos.

Reply via email to