net: Convert ip6_flowlabel_net_ops
authorKirill Tkhai <ktkhai@virtuozzo.com>
Mon, 19 Feb 2018 08:50:09 +0000 (11:50 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 19 Feb 2018 19:19:11 +0000 (14:19 -0500)
These pernet_operations create and destroy /proc entries.
ip6_fl_purge() makes almost the same actions as timer
ip6_fl_gc_timer does, and as it can be executed in parallel
with ip6_fl_purge(), two parallel ip6_fl_purge() may be
executed. So, we can mark it async.

Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_flowlabel.c

index 3dab664ff5034f16dac09e94cc2606146aae93b6..6ddf522828945ea73b76130011e8ac393a6bef68 100644 (file)
@@ -873,6 +873,7 @@ static void __net_exit ip6_flowlabel_net_exit(struct net *net)
 static struct pernet_operations ip6_flowlabel_net_ops = {
        .init = ip6_flowlabel_proc_init,
        .exit = ip6_flowlabel_net_exit,
+       .async = true,
 };
 
 int ip6_flowlabel_init(void)