diff options
| author | Stanislav Kinsbursky <skinsbursky@parallels.com> | 2012-01-10 16:13:03 +0400 | 
|---|---|---|
| committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-01-31 18:20:27 -0500 | 
| commit | 7bb782c6ac75898604eb547ed37b05c49b1edf21 (patch) | |
| tree | 191154131d87eb61286b61c01f31fa3dd2de886d | |
| parent | 6d59b8d599d594bc314026c6856424fe49df5513 (diff) | |
| download | olio-linux-3.10-7bb782c6ac75898604eb547ed37b05c49b1edf21.tar.xz olio-linux-3.10-7bb782c6ac75898604eb547ed37b05c49b1edf21.zip  | |
NFS: create callback transports in parent transport network namespace
This patch replaces static "init_net" references with parent transport xprt_net
reference. Thus callback transports will be created in the same network
namespace as respective NFS mount point was created.
Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
| -rw-r--r-- | fs/nfs/callback.c | 10 | 
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/nfs/callback.c b/fs/nfs/callback.c index 516f3375e06..d81040a7efc 100644 --- a/fs/nfs/callback.c +++ b/fs/nfs/callback.c @@ -102,11 +102,11 @@ nfs4_callback_svc(void *vrqstp)   * Prepare to bring up the NFSv4 callback service   */  struct svc_rqst * -nfs4_callback_up(struct svc_serv *serv) +nfs4_callback_up(struct svc_serv *serv, struct rpc_xprt *xprt)  {  	int ret; -	ret = svc_create_xprt(serv, "tcp", &init_net, PF_INET, +	ret = svc_create_xprt(serv, "tcp", xprt->xprt_net, PF_INET,  				nfs_callback_set_tcpport, SVC_SOCK_ANONYMOUS);  	if (ret <= 0)  		goto out_err; @@ -114,7 +114,7 @@ nfs4_callback_up(struct svc_serv *serv)  	dprintk("NFS: Callback listener port = %u (af %u)\n",  			nfs_callback_tcpport, PF_INET); -	ret = svc_create_xprt(serv, "tcp", &init_net, PF_INET6, +	ret = svc_create_xprt(serv, "tcp", xprt->xprt_net, PF_INET6,  				nfs_callback_set_tcpport, SVC_SOCK_ANONYMOUS);  	if (ret > 0) {  		nfs_callback_tcpport6 = ret; @@ -183,7 +183,7 @@ nfs41_callback_up(struct svc_serv *serv, struct rpc_xprt *xprt)  	 * fore channel connection.  	 * Returns the input port (0) and sets the svc_serv bc_xprt on success  	 */ -	ret = svc_create_xprt(serv, "tcp-bc", &init_net, PF_INET, 0, +	ret = svc_create_xprt(serv, "tcp-bc", xprt->xprt_net, PF_INET, 0,  			      SVC_SOCK_ANONYMOUS);  	if (ret < 0) {  		rqstp = ERR_PTR(ret); @@ -269,7 +269,7 @@ int nfs_callback_up(u32 minorversion, struct rpc_xprt *xprt)  					serv, xprt, &rqstp, &callback_svc);  	if (!minorversion_setup) {  		/* v4.0 callback setup */ -		rqstp = nfs4_callback_up(serv); +		rqstp = nfs4_callback_up(serv, xprt);  		callback_svc = nfs4_callback_svc;  	}  |