ipvs: Pass ipvs not net to start_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
df04ffb766
commit
6ac121d710
3 changed files with 8 additions and 9 deletions
|
@ -1449,7 +1449,7 @@ static inline void ip_vs_dest_put_and_free(struct ip_vs_dest *dest)
|
|||
/* IPVS sync daemon data and function prototypes
|
||||
* (from ip_vs_sync.c)
|
||||
*/
|
||||
int start_sync_thread(struct net *net, struct ipvs_sync_daemon_cfg *cfg,
|
||||
int start_sync_thread(struct netns_ipvs *ipvs, struct ipvs_sync_daemon_cfg *cfg,
|
||||
int state);
|
||||
int stop_sync_thread(struct net *net, int state);
|
||||
void ip_vs_sync_conn(struct net *net, struct ip_vs_conn *cp, int pkts);
|
||||
|
|
|
@ -2350,7 +2350,7 @@ do_ip_vs_set_ctl(struct sock *sk, int cmd, void __user *user, unsigned int len)
|
|||
cfg.syncid = dm->syncid;
|
||||
rtnl_lock();
|
||||
mutex_lock(&ipvs->sync_mutex);
|
||||
ret = start_sync_thread(net, &cfg, dm->state);
|
||||
ret = start_sync_thread(ipvs, &cfg, dm->state);
|
||||
mutex_unlock(&ipvs->sync_mutex);
|
||||
rtnl_unlock();
|
||||
} else {
|
||||
|
@ -3432,7 +3432,7 @@ static int ip_vs_genl_new_daemon(struct netns_ipvs *ipvs, struct nlattr **attrs)
|
|||
|
||||
rtnl_lock();
|
||||
mutex_lock(&ipvs->sync_mutex);
|
||||
ret = start_sync_thread(ipvs->net, &c,
|
||||
ret = start_sync_thread(ipvs, &c,
|
||||
nla_get_u32(attrs[IPVS_DAEMON_ATTR_STATE]));
|
||||
mutex_unlock(&ipvs->sync_mutex);
|
||||
rtnl_unlock();
|
||||
|
|
|
@ -1778,13 +1778,12 @@ static int sync_thread_backup(void *data)
|
|||
}
|
||||
|
||||
|
||||
int start_sync_thread(struct net *net, struct ipvs_sync_daemon_cfg *c,
|
||||
int start_sync_thread(struct netns_ipvs *ipvs, struct ipvs_sync_daemon_cfg *c,
|
||||
int state)
|
||||
{
|
||||
struct ip_vs_sync_thread_data *tinfo;
|
||||
struct task_struct **array = NULL, *task;
|
||||
struct socket *sock;
|
||||
struct netns_ipvs *ipvs = net_ipvs(net);
|
||||
struct net_device *dev;
|
||||
char *name;
|
||||
int (*threadfn)(void *data);
|
||||
|
@ -1811,7 +1810,7 @@ int start_sync_thread(struct net *net, struct ipvs_sync_daemon_cfg *c,
|
|||
if (!c->mcast_ttl)
|
||||
c->mcast_ttl = 1;
|
||||
|
||||
dev = __dev_get_by_name(net, c->mcast_ifn);
|
||||
dev = __dev_get_by_name(ipvs->net, c->mcast_ifn);
|
||||
if (!dev) {
|
||||
pr_err("Unknown mcast interface: %s\n", c->mcast_ifn);
|
||||
return -ENODEV;
|
||||
|
@ -1873,9 +1872,9 @@ int start_sync_thread(struct net *net, struct ipvs_sync_daemon_cfg *c,
|
|||
tinfo = NULL;
|
||||
for (id = 0; id < count; id++) {
|
||||
if (state == IP_VS_STATE_MASTER)
|
||||
sock = make_send_sock(net, id);
|
||||
sock = make_send_sock(ipvs->net, id);
|
||||
else
|
||||
sock = make_receive_sock(net, id);
|
||||
sock = make_receive_sock(ipvs->net, id);
|
||||
if (IS_ERR(sock)) {
|
||||
result = PTR_ERR(sock);
|
||||
goto outtinfo;
|
||||
|
@ -1883,7 +1882,7 @@ int start_sync_thread(struct net *net, struct ipvs_sync_daemon_cfg *c,
|
|||
tinfo = kmalloc(sizeof(*tinfo), GFP_KERNEL);
|
||||
if (!tinfo)
|
||||
goto outsocket;
|
||||
tinfo->net = net;
|
||||
tinfo->net = ipvs->net;
|
||||
tinfo->sock = sock;
|
||||
if (state == IP_VS_STATE_BACKUP) {
|
||||
tinfo->buf = kmalloc(ipvs->bcfg.sync_maxlen,
|
||||
|
|
Loading…
Reference in a new issue