ipvs: Pass ipvs not net to ip_vs_estimator_net_init and ip_vs_estimator_cleanup
authorEric W. Biederman <ebiederm@xmission.com>
Mon, 21 Sep 2015 18:02:28 +0000 (13:02 -0500)
committerSimon Horman <horms@verge.net.au>
Thu, 24 Sep 2015 00:34:39 +0000 (09:34 +0900)
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Acked-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Simon Horman <horms@verge.net.au>
include/net/ip_vs.h
net/netfilter/ipvs/ip_vs_core.c
net/netfilter/ipvs/ip_vs_est.c

index 38c1fca0c1a7c50500755653b5c760dbc9d96266..02734eaae6791f6e0efa58594f13fb02899092f6 100644 (file)
@@ -1323,7 +1323,7 @@ ip_vs_control_add(struct ip_vs_conn *cp, struct ip_vs_conn *ctl_cp)
 }
 
 /* IPVS netns init & cleanup functions */
-int ip_vs_estimator_net_init(struct net *net);
+int ip_vs_estimator_net_init(struct netns_ipvs *ipvs);
 int ip_vs_control_net_init(struct netns_ipvs *ipvs);
 int ip_vs_protocol_net_init(struct net *net);
 int ip_vs_app_net_init(struct net *net);
@@ -1333,7 +1333,7 @@ void ip_vs_conn_net_cleanup(struct net *net);
 void ip_vs_app_net_cleanup(struct net *net);
 void ip_vs_protocol_net_cleanup(struct net *net);
 void ip_vs_control_net_cleanup(struct netns_ipvs *ipvs);
-void ip_vs_estimator_net_cleanup(struct net *net);
+void ip_vs_estimator_net_cleanup(struct netns_ipvs *ipvs);
 void ip_vs_sync_net_cleanup(struct netns_ipvs *ipvs);
 void ip_vs_service_net_cleanup(struct netns_ipvs *ipvs);
 
index b5f451f20f522dfd7cbe7d2f98cc2669b1743df9..ec6f022fba6ad69c651fe441e59c2f6739986d91 100644 (file)
@@ -2072,7 +2072,7 @@ static int __net_init __ip_vs_init(struct net *net)
        atomic_inc(&ipvs_netns_cnt);
        net->ipvs = ipvs;
 
-       if (ip_vs_estimator_net_init(net) < 0)
+       if (ip_vs_estimator_net_init(ipvs) < 0)
                goto estimator_fail;
 
        if (ip_vs_control_net_init(ipvs) < 0)
@@ -2106,7 +2106,7 @@ app_fail:
 protocol_fail:
        ip_vs_control_net_cleanup(ipvs);
 control_fail:
-       ip_vs_estimator_net_cleanup(net);
+       ip_vs_estimator_net_cleanup(ipvs);
 estimator_fail:
        net->ipvs = NULL;
        return -ENOMEM;
@@ -2121,7 +2121,7 @@ static void __net_exit __ip_vs_cleanup(struct net *net)
        ip_vs_app_net_cleanup(net);
        ip_vs_protocol_net_cleanup(net);
        ip_vs_control_net_cleanup(ipvs);
-       ip_vs_estimator_net_cleanup(net);
+       ip_vs_estimator_net_cleanup(ipvs);
        IP_VS_DBG(2, "ipvs netns %d released\n", ipvs->gen);
        net->ipvs = NULL;
 }
index c86dc456c8f43f1990ecd5dcff9ad38b31c03b54..457c6c193e1332ab803b6f381f1329f85f1ebdf6 100644 (file)
@@ -188,10 +188,8 @@ void ip_vs_read_estimator(struct ip_vs_kstats *dst, struct ip_vs_stats *stats)
        dst->outbps = (e->outbps + 0xF) >> 5;
 }
 
-int __net_init ip_vs_estimator_net_init(struct net *net)
+int __net_init ip_vs_estimator_net_init(struct netns_ipvs *ipvs)
 {
-       struct netns_ipvs *ipvs = net_ipvs(net);
-
        INIT_LIST_HEAD(&ipvs->est_list);
        spin_lock_init(&ipvs->est_lock);
        setup_timer(&ipvs->est_timer, estimation_timer, (unsigned long)ipvs);
@@ -199,7 +197,7 @@ int __net_init ip_vs_estimator_net_init(struct net *net)
        return 0;
 }
 
-void __net_exit ip_vs_estimator_net_cleanup(struct net *net)
+void __net_exit ip_vs_estimator_net_cleanup(struct netns_ipvs *ipvs)
 {
-       del_timer_sync(&net_ipvs(net)->est_timer);
+       del_timer_sync(&ipvs->est_timer);
 }