[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH 2/7] net: Add VLAN client cleanup handler
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] Re: [PATCH 2/7] net: Add VLAN client cleanup handler |
Date: |
Wed, 15 Apr 2009 16:04:03 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
Mark McLoughlin wrote:
> Hi Jan,
>
> On Tue, 2009-04-14 at 19:29 +0200, Jan Kiszka wrote:
>> Do proper VLAN client cleanup via a callback handler. This fixes
>> resource leakage on host_net_remove and allows a generic net_cleanup
>> implementation.
>
> Yep, we need this.
>
> However, I've got a different version in my queue (see below) - I've
> been holding back on posting it until I finished some other patches I'm
> working on, but I'll polish it off and post this afternoon.
>
> Differences from yours include:
>
> - I've added cleanup code to all the NICs, including adding
> unregister_savevm() so that we don't try and save deleted NICs
Different issue than I was trying to fix (host net removals), but valid.
>
> - Rather than adding yet another param to new_vlan_client(), I just
> initialize vc->cleanup after creating the client; another patch in
> my queue removes all callbacks to new_vlan_client() because as more
> are added it just gets terribly unwieldy.
Personally, I prefer a function-based API over, well, hacking the
structures directly. The driver should not have to poke into its device
descriptor. Yes, this breaks existing code each time you add another
callback, but this has the effect that you
a) normally think twice if you really need it before doing this,
b) likely enhance all users, and
c) that new users will find prominent information about this
(hopefully) useful callback.
>
> - I remove the io handler on e.g. the tapfd when freeing - otherwise
> we'll continue to poll the fd AFAICS
Good point. I ran into similar issues lately with the qemu-char code
(fixed upstream now).
>
> - I implement net_cleanup() by calling del_vlan_client() on all clients
Yes, probably the better way around.
>
> Apart from that, the patches are very similar - are you okay with just
> waiting for my patch?
If we can agree on second point :) and if your patch will show up soon,
I will happily rebase the rest of my series on top of it.
Jan
--
Siemens AG, Corporate Technology, CT SE 2
Corporate Competence Center Embedded Linux
- [Qemu-devel] [PATCH 0/7] Various small networking improvements, Jan Kiszka, 2009/04/14
- [Qemu-devel] [PATCH 4/7] net: Prevent multiple slirp instances, Jan Kiszka, 2009/04/14
- [Qemu-devel] [PATCH 1/7] net: Fix -net socket,listen, Jan Kiszka, 2009/04/14
- [Qemu-devel] [PATCH 2/7] net: Add VLAN client cleanup handler, Jan Kiszka, 2009/04/14
- [Qemu-devel] Re: [PATCH 2/7] net: Add VLAN client cleanup handler,
Jan Kiszka <=
- [Qemu-devel] Re: [PATCH 2/7] net: Add VLAN client cleanup handler, Mark McLoughlin, 2009/04/15
- [Qemu-devel] Re: [PATCH 2/7] net: Add VLAN client cleanup handler, Jan Kiszka, 2009/04/15
[Qemu-devel] [PATCH 3/7] net: Check device passed to host_net_remove, Jan Kiszka, 2009/04/14
[Qemu-devel] [PATCH 7/7] slirp: Handle DHCP requests for specific IP, Jan Kiszka, 2009/04/14
[Qemu-devel] [PATCH 5/7] monitor: Improve host_net_add, Jan Kiszka, 2009/04/14
[Qemu-devel] [PATCH 6/7] net: Add support for capturing VLANs, Jan Kiszka, 2009/04/14