sunrpc: Pull net argument downto svc_create_socket
After this the socket creation in it knows the context. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
parent
fc5d00b04a
commit
62832c039e
4 changed files with 13 additions and 5 deletions
|
@ -12,6 +12,7 @@
|
|||
|
||||
struct svc_xprt_ops {
|
||||
struct svc_xprt *(*xpo_create)(struct svc_serv *,
|
||||
struct net *net,
|
||||
struct sockaddr *, int,
|
||||
int);
|
||||
struct svc_xprt *(*xpo_accept)(struct svc_xprt *);
|
||||
|
|
|
@ -166,6 +166,7 @@ EXPORT_SYMBOL_GPL(svc_xprt_init);
|
|||
|
||||
static struct svc_xprt *__svc_xpo_create(struct svc_xprt_class *xcl,
|
||||
struct svc_serv *serv,
|
||||
struct net *net,
|
||||
const int family,
|
||||
const unsigned short port,
|
||||
int flags)
|
||||
|
@ -200,7 +201,7 @@ static struct svc_xprt *__svc_xpo_create(struct svc_xprt_class *xcl,
|
|||
return ERR_PTR(-EAFNOSUPPORT);
|
||||
}
|
||||
|
||||
return xcl->xcl_ops->xpo_create(serv, sap, len, flags);
|
||||
return xcl->xcl_ops->xpo_create(serv, net, sap, len, flags);
|
||||
}
|
||||
|
||||
int svc_create_xprt(struct svc_serv *serv, const char *xprt_name,
|
||||
|
@ -221,7 +222,7 @@ int svc_create_xprt(struct svc_serv *serv, const char *xprt_name,
|
|||
goto err;
|
||||
|
||||
spin_unlock(&svc_xprt_class_lock);
|
||||
newxprt = __svc_xpo_create(xcl, serv, family, port, flags);
|
||||
newxprt = __svc_xpo_create(xcl, serv, net, family, port, flags);
|
||||
if (IS_ERR(newxprt)) {
|
||||
module_put(xcl->xcl_owner);
|
||||
return PTR_ERR(newxprt);
|
||||
|
|
|
@ -64,7 +64,8 @@ static void svc_tcp_sock_detach(struct svc_xprt *);
|
|||
static void svc_sock_free(struct svc_xprt *);
|
||||
|
||||
static struct svc_xprt *svc_create_socket(struct svc_serv *, int,
|
||||
struct sockaddr *, int, int);
|
||||
struct net *, struct sockaddr *,
|
||||
int, int);
|
||||
#ifdef CONFIG_DEBUG_LOCK_ALLOC
|
||||
static struct lock_class_key svc_key[2];
|
||||
static struct lock_class_key svc_slock_key[2];
|
||||
|
@ -657,10 +658,11 @@ static struct svc_xprt *svc_udp_accept(struct svc_xprt *xprt)
|
|||
}
|
||||
|
||||
static struct svc_xprt *svc_udp_create(struct svc_serv *serv,
|
||||
struct net *net,
|
||||
struct sockaddr *sa, int salen,
|
||||
int flags)
|
||||
{
|
||||
return svc_create_socket(serv, IPPROTO_UDP, sa, salen, flags);
|
||||
return svc_create_socket(serv, IPPROTO_UDP, net, sa, salen, flags);
|
||||
}
|
||||
|
||||
static struct svc_xprt_ops svc_udp_ops = {
|
||||
|
@ -1178,10 +1180,11 @@ static int svc_tcp_has_wspace(struct svc_xprt *xprt)
|
|||
}
|
||||
|
||||
static struct svc_xprt *svc_tcp_create(struct svc_serv *serv,
|
||||
struct net *net,
|
||||
struct sockaddr *sa, int salen,
|
||||
int flags)
|
||||
{
|
||||
return svc_create_socket(serv, IPPROTO_TCP, sa, salen, flags);
|
||||
return svc_create_socket(serv, IPPROTO_TCP, net, sa, salen, flags);
|
||||
}
|
||||
|
||||
static struct svc_xprt_ops svc_tcp_ops = {
|
||||
|
@ -1385,6 +1388,7 @@ EXPORT_SYMBOL_GPL(svc_addsock);
|
|||
*/
|
||||
static struct svc_xprt *svc_create_socket(struct svc_serv *serv,
|
||||
int protocol,
|
||||
struct net *net,
|
||||
struct sockaddr *sin, int len,
|
||||
int flags)
|
||||
{
|
||||
|
|
|
@ -52,6 +52,7 @@
|
|||
#define RPCDBG_FACILITY RPCDBG_SVCXPRT
|
||||
|
||||
static struct svc_xprt *svc_rdma_create(struct svc_serv *serv,
|
||||
struct net *net,
|
||||
struct sockaddr *sa, int salen,
|
||||
int flags);
|
||||
static struct svc_xprt *svc_rdma_accept(struct svc_xprt *xprt);
|
||||
|
@ -670,6 +671,7 @@ static int rdma_cma_handler(struct rdma_cm_id *cma_id,
|
|||
* Create a listening RDMA service endpoint.
|
||||
*/
|
||||
static struct svc_xprt *svc_rdma_create(struct svc_serv *serv,
|
||||
struct net *net,
|
||||
struct sockaddr *sa, int salen,
|
||||
int flags)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue