mirror of https://gitee.com/openkylin/linux.git
ipvs: Pass ipvs not net to stop_sync_thread
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:
parent
6ac121d710
commit
b3cf3cbfb5
|
@ -1451,7 +1451,7 @@ static inline void ip_vs_dest_put_and_free(struct ip_vs_dest *dest)
|
||||||
*/
|
*/
|
||||||
int start_sync_thread(struct netns_ipvs *ipvs, struct ipvs_sync_daemon_cfg *cfg,
|
int start_sync_thread(struct netns_ipvs *ipvs, struct ipvs_sync_daemon_cfg *cfg,
|
||||||
int state);
|
int state);
|
||||||
int stop_sync_thread(struct net *net, int state);
|
int stop_sync_thread(struct netns_ipvs *ipvs, int state);
|
||||||
void ip_vs_sync_conn(struct net *net, struct ip_vs_conn *cp, int pkts);
|
void ip_vs_sync_conn(struct net *net, 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) */
|
||||||
|
|
|
@ -2355,7 +2355,7 @@ do_ip_vs_set_ctl(struct sock *sk, int cmd, void __user *user, unsigned int len)
|
||||||
rtnl_unlock();
|
rtnl_unlock();
|
||||||
} else {
|
} else {
|
||||||
mutex_lock(&ipvs->sync_mutex);
|
mutex_lock(&ipvs->sync_mutex);
|
||||||
ret = stop_sync_thread(net, dm->state);
|
ret = stop_sync_thread(ipvs, dm->state);
|
||||||
mutex_unlock(&ipvs->sync_mutex);
|
mutex_unlock(&ipvs->sync_mutex);
|
||||||
}
|
}
|
||||||
goto out_dec;
|
goto out_dec;
|
||||||
|
@ -3447,7 +3447,7 @@ static int ip_vs_genl_del_daemon(struct netns_ipvs *ipvs, struct nlattr **attrs)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
mutex_lock(&ipvs->sync_mutex);
|
mutex_lock(&ipvs->sync_mutex);
|
||||||
ret = stop_sync_thread(ipvs->net,
|
ret = stop_sync_thread(ipvs,
|
||||||
nla_get_u32(attrs[IPVS_DAEMON_ATTR_STATE]));
|
nla_get_u32(attrs[IPVS_DAEMON_ATTR_STATE]));
|
||||||
mutex_unlock(&ipvs->sync_mutex);
|
mutex_unlock(&ipvs->sync_mutex);
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -1946,9 +1946,8 @@ int start_sync_thread(struct netns_ipvs *ipvs, struct ipvs_sync_daemon_cfg *c,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int stop_sync_thread(struct net *net, int state)
|
int stop_sync_thread(struct netns_ipvs *ipvs, int state)
|
||||||
{
|
{
|
||||||
struct netns_ipvs *ipvs = net_ipvs(net);
|
|
||||||
struct task_struct **array;
|
struct task_struct **array;
|
||||||
int id;
|
int id;
|
||||||
int retc = -EINVAL;
|
int retc = -EINVAL;
|
||||||
|
@ -2030,11 +2029,11 @@ void ip_vs_sync_net_cleanup(struct net *net)
|
||||||
struct netns_ipvs *ipvs = net_ipvs(net);
|
struct netns_ipvs *ipvs = net_ipvs(net);
|
||||||
|
|
||||||
mutex_lock(&ipvs->sync_mutex);
|
mutex_lock(&ipvs->sync_mutex);
|
||||||
retc = stop_sync_thread(net, IP_VS_STATE_MASTER);
|
retc = stop_sync_thread(ipvs, IP_VS_STATE_MASTER);
|
||||||
if (retc && retc != -ESRCH)
|
if (retc && retc != -ESRCH)
|
||||||
pr_err("Failed to stop Master Daemon\n");
|
pr_err("Failed to stop Master Daemon\n");
|
||||||
|
|
||||||
retc = stop_sync_thread(net, IP_VS_STATE_BACKUP);
|
retc = stop_sync_thread(ipvs, IP_VS_STATE_BACKUP);
|
||||||
if (retc && retc != -ESRCH)
|
if (retc && retc != -ESRCH)
|
||||||
pr_err("Failed to stop Backup Daemon\n");
|
pr_err("Failed to stop Backup Daemon\n");
|
||||||
mutex_unlock(&ipvs->sync_mutex);
|
mutex_unlock(&ipvs->sync_mutex);
|
||||||
|
|
Loading…
Reference in New Issue