You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
ipvs: Pass ipvs not net to ip_vs_start_estimator aned ip_vs_stop_estimator
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>
This commit is contained in:
committed by
Simon Horman
parent
cacd1e60f1
commit
0f34d54bf4
+2
-2
@@ -1455,8 +1455,8 @@ int stop_sync_thread(struct netns_ipvs *ipvs, int state);
|
|||||||
void ip_vs_sync_conn(struct netns_ipvs *ipvs, struct ip_vs_conn *cp, int pkts);
|
void ip_vs_sync_conn(struct netns_ipvs *ipvs, struct ip_vs_conn *cp, int pkts);
|
||||||
|
|
||||||
/* IPVS rate estimator prototypes (from ip_vs_est.c) */
|
/* IPVS rate estimator prototypes (from ip_vs_est.c) */
|
||||||
void ip_vs_start_estimator(struct net *net, struct ip_vs_stats *stats);
|
void ip_vs_start_estimator(struct netns_ipvs *ipvs, struct ip_vs_stats *stats);
|
||||||
void ip_vs_stop_estimator(struct net *net, struct ip_vs_stats *stats);
|
void ip_vs_stop_estimator(struct netns_ipvs *ipvs, struct ip_vs_stats *stats);
|
||||||
void ip_vs_zero_estimator(struct ip_vs_stats *stats);
|
void ip_vs_zero_estimator(struct ip_vs_stats *stats);
|
||||||
void ip_vs_read_estimator(struct ip_vs_kstats *dst, struct ip_vs_stats *stats);
|
void ip_vs_read_estimator(struct ip_vs_kstats *dst, struct ip_vs_stats *stats);
|
||||||
|
|
||||||
|
|||||||
@@ -840,7 +840,7 @@ __ip_vs_update_dest(struct ip_vs_service *svc, struct ip_vs_dest *dest,
|
|||||||
spin_unlock_bh(&dest->dst_lock);
|
spin_unlock_bh(&dest->dst_lock);
|
||||||
|
|
||||||
if (add) {
|
if (add) {
|
||||||
ip_vs_start_estimator(svc->ipvs->net, &dest->stats);
|
ip_vs_start_estimator(svc->ipvs, &dest->stats);
|
||||||
list_add_rcu(&dest->n_list, &svc->destinations);
|
list_add_rcu(&dest->n_list, &svc->destinations);
|
||||||
svc->num_dests++;
|
svc->num_dests++;
|
||||||
sched = rcu_dereference_protected(svc->scheduler, 1);
|
sched = rcu_dereference_protected(svc->scheduler, 1);
|
||||||
@@ -1036,7 +1036,7 @@ ip_vs_edit_dest(struct ip_vs_service *svc, struct ip_vs_dest_user_kern *udest)
|
|||||||
static void __ip_vs_del_dest(struct netns_ipvs *ipvs, struct ip_vs_dest *dest,
|
static void __ip_vs_del_dest(struct netns_ipvs *ipvs, struct ip_vs_dest *dest,
|
||||||
bool cleanup)
|
bool cleanup)
|
||||||
{
|
{
|
||||||
ip_vs_stop_estimator(ipvs->net, &dest->stats);
|
ip_vs_stop_estimator(ipvs, &dest->stats);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Remove it from the d-linked list with the real services.
|
* Remove it from the d-linked list with the real services.
|
||||||
@@ -1254,7 +1254,7 @@ ip_vs_add_service(struct netns_ipvs *ipvs, struct ip_vs_service_user_kern *u,
|
|||||||
else if (svc->port == 0)
|
else if (svc->port == 0)
|
||||||
atomic_inc(&ipvs->nullsvc_counter);
|
atomic_inc(&ipvs->nullsvc_counter);
|
||||||
|
|
||||||
ip_vs_start_estimator(ipvs->net, &svc->stats);
|
ip_vs_start_estimator(ipvs, &svc->stats);
|
||||||
|
|
||||||
/* Count only IPv4 services for old get/setsockopt interface */
|
/* Count only IPv4 services for old get/setsockopt interface */
|
||||||
if (svc->af == AF_INET)
|
if (svc->af == AF_INET)
|
||||||
@@ -1382,7 +1382,7 @@ static void __ip_vs_del_service(struct ip_vs_service *svc, bool cleanup)
|
|||||||
if (svc->af == AF_INET)
|
if (svc->af == AF_INET)
|
||||||
ipvs->num_services--;
|
ipvs->num_services--;
|
||||||
|
|
||||||
ip_vs_stop_estimator(svc->ipvs->net, &svc->stats);
|
ip_vs_stop_estimator(svc->ipvs, &svc->stats);
|
||||||
|
|
||||||
/* Unbind scheduler */
|
/* Unbind scheduler */
|
||||||
old_sched = rcu_dereference_protected(svc->scheduler, 1);
|
old_sched = rcu_dereference_protected(svc->scheduler, 1);
|
||||||
@@ -3917,7 +3917,7 @@ static int __net_init ip_vs_control_net_init_sysctl(struct net *net)
|
|||||||
kfree(tbl);
|
kfree(tbl);
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
ip_vs_start_estimator(net, &ipvs->tot_stats);
|
ip_vs_start_estimator(ipvs, &ipvs->tot_stats);
|
||||||
ipvs->sysctl_tbl = tbl;
|
ipvs->sysctl_tbl = tbl;
|
||||||
/* Schedule defense work */
|
/* Schedule defense work */
|
||||||
INIT_DELAYED_WORK(&ipvs->defense_work, defense_work_handler);
|
INIT_DELAYED_WORK(&ipvs->defense_work, defense_work_handler);
|
||||||
@@ -3933,7 +3933,7 @@ static void __net_exit ip_vs_control_net_cleanup_sysctl(struct net *net)
|
|||||||
cancel_delayed_work_sync(&ipvs->defense_work);
|
cancel_delayed_work_sync(&ipvs->defense_work);
|
||||||
cancel_work_sync(&ipvs->defense_work.work);
|
cancel_work_sync(&ipvs->defense_work.work);
|
||||||
unregister_net_sysctl_table(ipvs->sysctl_hdr);
|
unregister_net_sysctl_table(ipvs->sysctl_hdr);
|
||||||
ip_vs_stop_estimator(net, &ipvs->tot_stats);
|
ip_vs_stop_estimator(ipvs, &ipvs->tot_stats);
|
||||||
|
|
||||||
if (!net_eq(net, &init_net))
|
if (!net_eq(net, &init_net))
|
||||||
kfree(ipvs->sysctl_tbl);
|
kfree(ipvs->sysctl_tbl);
|
||||||
|
|||||||
@@ -140,9 +140,8 @@ static void estimation_timer(unsigned long arg)
|
|||||||
mod_timer(&ipvs->est_timer, jiffies + 2*HZ);
|
mod_timer(&ipvs->est_timer, jiffies + 2*HZ);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ip_vs_start_estimator(struct net *net, struct ip_vs_stats *stats)
|
void ip_vs_start_estimator(struct netns_ipvs *ipvs, struct ip_vs_stats *stats)
|
||||||
{
|
{
|
||||||
struct netns_ipvs *ipvs = net_ipvs(net);
|
|
||||||
struct ip_vs_estimator *est = &stats->est;
|
struct ip_vs_estimator *est = &stats->est;
|
||||||
|
|
||||||
INIT_LIST_HEAD(&est->list);
|
INIT_LIST_HEAD(&est->list);
|
||||||
@@ -152,9 +151,8 @@ void ip_vs_start_estimator(struct net *net, struct ip_vs_stats *stats)
|
|||||||
spin_unlock_bh(&ipvs->est_lock);
|
spin_unlock_bh(&ipvs->est_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ip_vs_stop_estimator(struct net *net, struct ip_vs_stats *stats)
|
void ip_vs_stop_estimator(struct netns_ipvs *ipvs, struct ip_vs_stats *stats)
|
||||||
{
|
{
|
||||||
struct netns_ipvs *ipvs = net_ipvs(net);
|
|
||||||
struct ip_vs_estimator *est = &stats->est;
|
struct ip_vs_estimator *est = &stats->est;
|
||||||
|
|
||||||
spin_lock_bh(&ipvs->est_lock);
|
spin_lock_bh(&ipvs->est_lock);
|
||||||
|
|||||||
Reference in New Issue
Block a user