linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] nfsd: cleanup "init_net" references
@ 2012-12-04 13:50 Stanislav Kinsbursky
  2012-12-04 13:50 ` [PATCH 1/6] nfsd: pass net to nfsd_init_socks() Stanislav Kinsbursky
                   ` (6 more replies)
  0 siblings, 7 replies; 12+ messages in thread
From: Stanislav Kinsbursky @ 2012-12-04 13:50 UTC (permalink / raw)
  To: bfields; +Cc: linux-nfs, Trond.Myklebust, linux-kernel, devel

Hard-coded "init_net" pointer is widely used in NFSd code.
This patch replaces "init_net" references by passed struct net pointer where
requied.
In future, proper network namespace context will be taken from NFSd file
system superblock private data or, where it's impossible, from current.

The following series implements...

---

Stanislav Kinsbursky (6):
      nfsd: pass net to nfsd_init_socks()
      nfsd: pass net to nfsd_startup() and nfsd_shutdown()
      nfsd: pass net to nfsd_create_serv()
      nfsd: pass net to nfsd_svc()
      nfsd: pass net to nfsd_set_nrthreads()
      nfsd: pass net to __write_ports() and down


 fs/nfsd/nfsctl.c |   27 +++++++++++++++------------
 fs/nfsd/nfsd.h   |    6 +++---
 fs/nfsd/nfssvc.c |   34 ++++++++++++++--------------------
 3 files changed, 32 insertions(+), 35 deletions(-)


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 1/6] nfsd: pass net to nfsd_init_socks()
  2012-12-04 13:50 [PATCH 0/6] nfsd: cleanup "init_net" references Stanislav Kinsbursky
@ 2012-12-04 13:50 ` Stanislav Kinsbursky
  2012-12-04 13:50 ` [PATCH 2/6] nfsd: pass net to nfsd_startup() and nfsd_shutdown() Stanislav Kinsbursky
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 12+ messages in thread
From: Stanislav Kinsbursky @ 2012-12-04 13:50 UTC (permalink / raw)
  To: bfields; +Cc: linux-nfs, Trond.Myklebust, linux-kernel, devel

Precursor patch. Hard-coded "init_net" will be replaced by proper one in
future.

Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
---
 fs/nfsd/nfssvc.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c
index 9beace6..9fd8496 100644
--- a/fs/nfsd/nfssvc.c
+++ b/fs/nfsd/nfssvc.c
@@ -182,18 +182,18 @@ int nfsd_nrthreads(void)
 	return rv;
 }
 
-static int nfsd_init_socks(void)
+static int nfsd_init_socks(struct net *net)
 {
 	int error;
 	if (!list_empty(&nfsd_serv->sv_permsocks))
 		return 0;
 
-	error = svc_create_xprt(nfsd_serv, "udp", &init_net, PF_INET, NFS_PORT,
+	error = svc_create_xprt(nfsd_serv, "udp", net, PF_INET, NFS_PORT,
 					SVC_SOCK_DEFAULTS);
 	if (error < 0)
 		return error;
 
-	error = svc_create_xprt(nfsd_serv, "tcp", &init_net, PF_INET, NFS_PORT,
+	error = svc_create_xprt(nfsd_serv, "tcp", net, PF_INET, NFS_PORT,
 					SVC_SOCK_DEFAULTS);
 	if (error < 0)
 		return error;
@@ -218,7 +218,7 @@ static int nfsd_startup(int nrservs)
 	ret = nfsd_racache_init(2*nrservs);
 	if (ret)
 		return ret;
-	ret = nfsd_init_socks();
+	ret = nfsd_init_socks(net);
 	if (ret)
 		goto out_racache;
 	ret = lockd_up(net);


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 2/6] nfsd: pass net to nfsd_startup() and nfsd_shutdown()
  2012-12-04 13:50 [PATCH 0/6] nfsd: cleanup "init_net" references Stanislav Kinsbursky
  2012-12-04 13:50 ` [PATCH 1/6] nfsd: pass net to nfsd_init_socks() Stanislav Kinsbursky
@ 2012-12-04 13:50 ` Stanislav Kinsbursky
  2012-12-04 13:50 ` [PATCH 3/6] nfsd: pass net to nfsd_create_serv() Stanislav Kinsbursky
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 12+ messages in thread
From: Stanislav Kinsbursky @ 2012-12-04 13:50 UTC (permalink / raw)
  To: bfields; +Cc: linux-nfs, Trond.Myklebust, linux-kernel, devel

Precursor patch. Hard-coded "init_net" will be replaced by proper one in
future.

Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
---
 fs/nfsd/nfssvc.c |   15 ++++++---------
 1 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c
index 9fd8496..21cba3d 100644
--- a/fs/nfsd/nfssvc.c
+++ b/fs/nfsd/nfssvc.c
@@ -203,10 +203,9 @@ static int nfsd_init_socks(struct net *net)
 
 static bool nfsd_up = false;
 
-static int nfsd_startup(int nrservs)
+static int nfsd_startup(int nrservs, struct net *net)
 {
 	int ret;
-	struct net *net = &init_net;
 
 	if (nfsd_up)
 		return 0;
@@ -237,16 +236,14 @@ static int nfsd_startup(int nrservs)
 out_net_state:
 	nfs4_state_shutdown();
 out_lockd:
-	lockd_down(&init_net);
+	lockd_down(net);
 out_racache:
 	nfsd_racache_shutdown();
 	return ret;
 }
 
-static void nfsd_shutdown(void)
+static void nfsd_shutdown(struct net *net)
 {
-	struct net *net = &init_net;
-
 	/*
 	 * write_ports can create the server without actually starting
 	 * any threads--if we get shut down before any threads are
@@ -264,7 +261,7 @@ static void nfsd_shutdown(void)
 
 static void nfsd_last_thread(struct svc_serv *serv, struct net *net)
 {
-	nfsd_shutdown();
+	nfsd_shutdown(net);
 
 	svc_rpcb_cleanup(serv, net);
 
@@ -468,7 +465,7 @@ nfsd_svc(int nrservs)
 
 	nfsd_up_before = nfsd_up;
 
-	error = nfsd_startup(nrservs);
+	error = nfsd_startup(nrservs, net);
 	if (error)
 		goto out_destroy;
 	error = svc_set_num_threads(nfsd_serv, NULL, nrservs);
@@ -481,7 +478,7 @@ nfsd_svc(int nrservs)
 	error = nfsd_serv->sv_nrthreads - 1;
 out_shutdown:
 	if (error < 0 && !nfsd_up_before)
-		nfsd_shutdown();
+		nfsd_shutdown(net);
 out_destroy:
 	nfsd_destroy(net);		/* Release server */
 out:


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 3/6] nfsd: pass net to nfsd_create_serv()
  2012-12-04 13:50 [PATCH 0/6] nfsd: cleanup "init_net" references Stanislav Kinsbursky
  2012-12-04 13:50 ` [PATCH 1/6] nfsd: pass net to nfsd_init_socks() Stanislav Kinsbursky
  2012-12-04 13:50 ` [PATCH 2/6] nfsd: pass net to nfsd_startup() and nfsd_shutdown() Stanislav Kinsbursky
@ 2012-12-04 13:50 ` Stanislav Kinsbursky
  2012-12-07 16:52   ` J. Bruce Fields
  2012-12-04 13:50 ` [PATCH 4/6] nfsd: pass net to nfsd_svc() Stanislav Kinsbursky
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 12+ messages in thread
From: Stanislav Kinsbursky @ 2012-12-04 13:50 UTC (permalink / raw)
  To: bfields; +Cc: linux-nfs, Trond.Myklebust, linux-kernel, devel

Precursor patch. Hard-coded "init_net" will be replaced by proper one in
future.

Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
---
 fs/nfsd/nfsctl.c |    4 ++--
 fs/nfsd/nfsd.h   |    2 +-
 fs/nfsd/nfssvc.c |    5 ++---
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c
index e13cbdd..ae1d143 100644
--- a/fs/nfsd/nfsctl.c
+++ b/fs/nfsd/nfsctl.c
@@ -664,7 +664,7 @@ static ssize_t __write_ports_addfd(char *buf)
 	if (err != 0 || fd < 0)
 		return -EINVAL;
 
-	err = nfsd_create_serv();
+	err = nfsd_create_serv(net);
 	if (err != 0)
 		return err;
 
@@ -696,7 +696,7 @@ static ssize_t __write_ports_addxprt(char *buf)
 	if (port < 1 || port > USHRT_MAX)
 		return -EINVAL;
 
-	err = nfsd_create_serv();
+	err = nfsd_create_serv(net);
 	if (err != 0)
 		return err;
 
diff --git a/fs/nfsd/nfsd.h b/fs/nfsd/nfsd.h
index 5eea0f5..acddf71 100644
--- a/fs/nfsd/nfsd.h
+++ b/fs/nfsd/nfsd.h
@@ -103,7 +103,7 @@ enum vers_op {NFSD_SET, NFSD_CLEAR, NFSD_TEST, NFSD_AVAIL };
 int nfsd_vers(int vers, enum vers_op change);
 int nfsd_minorversion(u32 minorversion, enum vers_op change);
 void nfsd_reset_versions(void);
-int nfsd_create_serv(void);
+int nfsd_create_serv(struct net *net);
 
 extern int nfsd_max_blksize;
 
diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c
index 21cba3d..6448391 100644
--- a/fs/nfsd/nfssvc.c
+++ b/fs/nfsd/nfssvc.c
@@ -334,10 +334,9 @@ static int nfsd_get_default_max_blksize(void)
 	return ret;
 }
 
-int nfsd_create_serv(void)
+int nfsd_create_serv(struct net *net)
 {
 	int error;
-	struct net *net = &init_net;
 
 	WARN_ON(!mutex_is_locked(&nfsd_mutex));
 	if (nfsd_serv) {
@@ -459,7 +458,7 @@ nfsd_svc(int nrservs)
 	if (nrservs == 0 && nfsd_serv == NULL)
 		goto out;
 
-	error = nfsd_create_serv();
+	error = nfsd_create_serv(net);
 	if (error)
 		goto out;
 


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 4/6] nfsd: pass net to nfsd_svc()
  2012-12-04 13:50 [PATCH 0/6] nfsd: cleanup "init_net" references Stanislav Kinsbursky
                   ` (2 preceding siblings ...)
  2012-12-04 13:50 ` [PATCH 3/6] nfsd: pass net to nfsd_create_serv() Stanislav Kinsbursky
@ 2012-12-04 13:50 ` Stanislav Kinsbursky
  2012-12-04 13:50 ` [PATCH 5/6] nfsd: pass net to nfsd_set_nrthreads() Stanislav Kinsbursky
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 12+ messages in thread
From: Stanislav Kinsbursky @ 2012-12-04 13:50 UTC (permalink / raw)
  To: bfields; +Cc: linux-nfs, Trond.Myklebust, linux-kernel, devel

Precursor patch. Hard-coded "init_net" will be replaced by proper one in
future.

Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
---
 fs/nfsd/nfsctl.c |    4 +++-
 fs/nfsd/nfsd.h   |    2 +-
 fs/nfsd/nfssvc.c |    3 +--
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c
index ae1d143..68e229c 100644
--- a/fs/nfsd/nfsctl.c
+++ b/fs/nfsd/nfsctl.c
@@ -396,6 +396,8 @@ static ssize_t write_threads(struct file *file, char *buf, size_t size)
 {
 	char *mesg = buf;
 	int rv;
+	struct net *net = &init_net;
+
 	if (size > 0) {
 		int newthreads;
 		rv = get_int(&mesg, &newthreads);
@@ -403,7 +405,7 @@ static ssize_t write_threads(struct file *file, char *buf, size_t size)
 			return rv;
 		if (newthreads < 0)
 			return -EINVAL;
-		rv = nfsd_svc(newthreads);
+		rv = nfsd_svc(newthreads, net);
 		if (rv < 0)
 			return rv;
 	} else
diff --git a/fs/nfsd/nfsd.h b/fs/nfsd/nfsd.h
index acddf71..8226c1b 100644
--- a/fs/nfsd/nfsd.h
+++ b/fs/nfsd/nfsd.h
@@ -65,7 +65,7 @@ extern const struct seq_operations nfs_exports_op;
 /*
  * Function prototypes.
  */
-int		nfsd_svc(int nrservs);
+int		nfsd_svc(int nrservs, struct net *net);
 int		nfsd_dispatch(struct svc_rqst *rqstp, __be32 *statp);
 
 int		nfsd_nrthreads(void);
diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c
index 6448391..f199b53 100644
--- a/fs/nfsd/nfssvc.c
+++ b/fs/nfsd/nfssvc.c
@@ -442,11 +442,10 @@ int nfsd_set_nrthreads(int n, int *nthreads)
  * this is the first time nrservs is nonzero.
  */
 int
-nfsd_svc(int nrservs)
+nfsd_svc(int nrservs, struct net *net)
 {
 	int	error;
 	bool	nfsd_up_before;
-	struct net *net = &init_net;
 
 	mutex_lock(&nfsd_mutex);
 	dprintk("nfsd: creating service\n");


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 5/6] nfsd: pass net to nfsd_set_nrthreads()
  2012-12-04 13:50 [PATCH 0/6] nfsd: cleanup "init_net" references Stanislav Kinsbursky
                   ` (3 preceding siblings ...)
  2012-12-04 13:50 ` [PATCH 4/6] nfsd: pass net to nfsd_svc() Stanislav Kinsbursky
@ 2012-12-04 13:50 ` Stanislav Kinsbursky
  2012-12-04 13:50 ` [PATCH 6/6] nfsd: pass net to __write_ports() and down Stanislav Kinsbursky
  2012-12-10  9:18 ` [PATCH 0/6] nfsd: cleanup "init_net" references Stanislav Kinsbursky
  6 siblings, 0 replies; 12+ messages in thread
From: Stanislav Kinsbursky @ 2012-12-04 13:50 UTC (permalink / raw)
  To: bfields; +Cc: linux-nfs, Trond.Myklebust, linux-kernel, devel

Precursor patch. Hard-coded "init_net" will be replaced by proper one in
future.

Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
---
 fs/nfsd/nfsctl.c |    3 ++-
 fs/nfsd/nfsd.h   |    2 +-
 fs/nfsd/nfssvc.c |    3 +--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c
index 68e229c..58f0ae4 100644
--- a/fs/nfsd/nfsctl.c
+++ b/fs/nfsd/nfsctl.c
@@ -447,6 +447,7 @@ static ssize_t write_pool_threads(struct file *file, char *buf, size_t size)
 	int len;
 	int npools;
 	int *nthreads;
+	struct net *net = &init_net;
 
 	mutex_lock(&nfsd_mutex);
 	npools = nfsd_nrpools();
@@ -477,7 +478,7 @@ static ssize_t write_pool_threads(struct file *file, char *buf, size_t size)
 			if (nthreads[i] < 0)
 				goto out_free;
 		}
-		rv = nfsd_set_nrthreads(i, nthreads);
+		rv = nfsd_set_nrthreads(i, nthreads, net);
 		if (rv)
 			goto out_free;
 	}
diff --git a/fs/nfsd/nfsd.h b/fs/nfsd/nfsd.h
index 8226c1b..18f9996 100644
--- a/fs/nfsd/nfsd.h
+++ b/fs/nfsd/nfsd.h
@@ -71,7 +71,7 @@ int		nfsd_dispatch(struct svc_rqst *rqstp, __be32 *statp);
 int		nfsd_nrthreads(void);
 int		nfsd_nrpools(void);
 int		nfsd_get_nrthreads(int n, int *);
-int		nfsd_set_nrthreads(int n, int *);
+int		nfsd_set_nrthreads(int n, int *, struct net *);
 int		nfsd_pool_stats_open(struct inode *, struct file *);
 int		nfsd_pool_stats_release(struct inode *, struct file *);
 
diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c
index f199b53..b144658 100644
--- a/fs/nfsd/nfssvc.c
+++ b/fs/nfsd/nfssvc.c
@@ -382,12 +382,11 @@ int nfsd_get_nrthreads(int n, int *nthreads)
 	return 0;
 }
 
-int nfsd_set_nrthreads(int n, int *nthreads)
+int nfsd_set_nrthreads(int n, int *nthreads, struct net *net)
 {
 	int i = 0;
 	int tot = 0;
 	int err = 0;
-	struct net *net = &init_net;
 
 	WARN_ON(!mutex_is_locked(&nfsd_mutex));
 


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 6/6] nfsd: pass net to __write_ports() and down
  2012-12-04 13:50 [PATCH 0/6] nfsd: cleanup "init_net" references Stanislav Kinsbursky
                   ` (4 preceding siblings ...)
  2012-12-04 13:50 ` [PATCH 5/6] nfsd: pass net to nfsd_set_nrthreads() Stanislav Kinsbursky
@ 2012-12-04 13:50 ` Stanislav Kinsbursky
  2012-12-10  9:18 ` [PATCH 0/6] nfsd: cleanup "init_net" references Stanislav Kinsbursky
  6 siblings, 0 replies; 12+ messages in thread
From: Stanislav Kinsbursky @ 2012-12-04 13:50 UTC (permalink / raw)
  To: bfields; +Cc: linux-nfs, Trond.Myklebust, linux-kernel, devel

Precursor patch. Hard-coded "init_net" will be replaced by proper one in
future.

Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
---
 fs/nfsd/nfsctl.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c
index 58f0ae4..8536100 100644
--- a/fs/nfsd/nfsctl.c
+++ b/fs/nfsd/nfsctl.c
@@ -657,11 +657,10 @@ static ssize_t __write_ports_names(char *buf)
  * a socket of a supported family/protocol, and we use it as an
  * nfsd listener.
  */
-static ssize_t __write_ports_addfd(char *buf)
+static ssize_t __write_ports_addfd(char *buf, struct net *net)
 {
 	char *mesg = buf;
 	int fd, err;
-	struct net *net = &init_net;
 
 	err = get_int(&mesg, &fd);
 	if (err != 0 || fd < 0)
@@ -686,12 +685,11 @@ static ssize_t __write_ports_addfd(char *buf)
  * A transport listener is added by writing it's transport name and
  * a port number.
  */
-static ssize_t __write_ports_addxprt(char *buf)
+static ssize_t __write_ports_addxprt(char *buf, struct net *net)
 {
 	char transport[16];
 	struct svc_xprt *xprt;
 	int port, err;
-	struct net *net = &init_net;
 
 	if (sscanf(buf, "%15s %5u", transport, &port) != 2)
 		return -EINVAL;
@@ -727,16 +725,17 @@ out_err:
 	return err;
 }
 
-static ssize_t __write_ports(struct file *file, char *buf, size_t size)
+static ssize_t __write_ports(struct file *file, char *buf, size_t size,
+			     struct net *net)
 {
 	if (size == 0)
 		return __write_ports_names(buf);
 
 	if (isdigit(buf[0]))
-		return __write_ports_addfd(buf);
+		return __write_ports_addfd(buf, net);
 
 	if (isalpha(buf[0]))
-		return __write_ports_addxprt(buf);
+		return __write_ports_addxprt(buf, net);
 
 	return -EINVAL;
 }
@@ -787,9 +786,10 @@ static ssize_t __write_ports(struct file *file, char *buf, size_t size)
 static ssize_t write_ports(struct file *file, char *buf, size_t size)
 {
 	ssize_t rv;
+	struct net *net = &init_net;
 
 	mutex_lock(&nfsd_mutex);
-	rv = __write_ports(file, buf, size);
+	rv = __write_ports(file, buf, size, net);
 	mutex_unlock(&nfsd_mutex);
 	return rv;
 }


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 3/6] nfsd: pass net to nfsd_create_serv()
  2012-12-04 13:50 ` [PATCH 3/6] nfsd: pass net to nfsd_create_serv() Stanislav Kinsbursky
@ 2012-12-07 16:52   ` J. Bruce Fields
  2012-12-10  8:25     ` Stanislav Kinsbursky
  0 siblings, 1 reply; 12+ messages in thread
From: J. Bruce Fields @ 2012-12-07 16:52 UTC (permalink / raw)
  To: Stanislav Kinsbursky; +Cc: linux-nfs, Trond.Myklebust, linux-kernel, devel

On Tue, Dec 04, 2012 at 04:50:16PM +0300, Stanislav Kinsbursky wrote:
> diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c
> index 21cba3d..6448391 100644
> --- a/fs/nfsd/nfssvc.c
> +++ b/fs/nfsd/nfssvc.c
> @@ -334,10 +334,9 @@ static int nfsd_get_default_max_blksize(void)
>  	return ret;
>  }
>  
> -int nfsd_create_serv(void)
> +int nfsd_create_serv(struct net *net)
>  {
>  	int error;
> -	struct net *net = &init_net;

What does this apply to?  Since 3.6-rc1 we have 
57c8b13e3cd0f94944c9691ce7f58e5fcef8a12d "NFSd: set nfsd_serv to NULL
after service destruction" which includes:

@@ -332,6 +330,7 @@ static int nfsd_get_default_max_blksize(void)
 int nfsd_create_serv(void)
 {
        int error;
+       struct net *net = current->nsproxy->net_ns;
 
        WARN_ON(!mutex_is_locked(&nfsd_mutex));
        if (nfsd_serv) {

Am I missing some later patch?

--b.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 3/6] nfsd: pass net to nfsd_create_serv()
  2012-12-07 16:52   ` J. Bruce Fields
@ 2012-12-10  8:25     ` Stanislav Kinsbursky
  2012-12-10  9:16       ` [Devel] " Stanislav Kinsbursky
  0 siblings, 1 reply; 12+ messages in thread
From: Stanislav Kinsbursky @ 2012-12-10  8:25 UTC (permalink / raw)
  To: J. Bruce Fields; +Cc: linux-nfs, Trond.Myklebust, linux-kernel, devel

07.12.2012 20:52, J. Bruce Fields пишет:
> On Tue, Dec 04, 2012 at 04:50:16PM +0300, Stanislav Kinsbursky wrote:
>> diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c
>> index 21cba3d..6448391 100644
>> --- a/fs/nfsd/nfssvc.c
>> +++ b/fs/nfsd/nfssvc.c
>> @@ -334,10 +334,9 @@ static int nfsd_get_default_max_blksize(void)
>>   	return ret;
>>   }
>>
>> -int nfsd_create_serv(void)
>> +int nfsd_create_serv(struct net *net)
>>   {
>>   	int error;
>> -	struct net *net = &init_net;
>
> What does this apply to?  Since 3.6-rc1 we have
> 57c8b13e3cd0f94944c9691ce7f58e5fcef8a12d "NFSd: set nfsd_serv to NULL
> after service destruction" which includes:
>
> @@ -332,6 +330,7 @@ static int nfsd_get_default_max_blksize(void)
>   int nfsd_create_serv(void)
>   {
>          int error;
> +       struct net *net = current->nsproxy->net_ns;
>
>          WARN_ON(!mutex_is_locked(&nfsd_mutex));
>          if (nfsd_serv) {
>
> Am I missing some later patch?
>

Maybe I'm missing something.
My tree is based on yours branch "for-3.8".
Doe I need to rebase?

> --b.
>


-- 
Best regards,
Stanislav Kinsbursky

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Devel] [PATCH 3/6] nfsd: pass net to nfsd_create_serv()
  2012-12-10  8:25     ` Stanislav Kinsbursky
@ 2012-12-10  9:16       ` Stanislav Kinsbursky
  2012-12-10 12:34         ` J. Bruce Fields
  0 siblings, 1 reply; 12+ messages in thread
From: Stanislav Kinsbursky @ 2012-12-10  9:16 UTC (permalink / raw)
  To: J. Bruce Fields; +Cc: linux-nfs, Trond.Myklebust, linux-kernel, devel

10.12.2012 12:25, Stanislav Kinsbursky пишет:
> 07.12.2012 20:52, J. Bruce Fields пишет:
>> On Tue, Dec 04, 2012 at 04:50:16PM +0300, Stanislav Kinsbursky wrote:
>>> diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c
>>> index 21cba3d..6448391 100644
>>> --- a/fs/nfsd/nfssvc.c
>>> +++ b/fs/nfsd/nfssvc.c
>>> @@ -334,10 +334,9 @@ static int nfsd_get_default_max_blksize(void)
>>>       return ret;
>>>   }
>>>
>>> -int nfsd_create_serv(void)
>>> +int nfsd_create_serv(struct net *net)
>>>   {
>>>       int error;
>>> -    struct net *net = &init_net;
>>
>> What does this apply to?  Since 3.6-rc1 we have
>> 57c8b13e3cd0f94944c9691ce7f58e5fcef8a12d "NFSd: set nfsd_serv to NULL
>> after service destruction" which includes:
>>
>> @@ -332,6 +330,7 @@ static int nfsd_get_default_max_blksize(void)
>>   int nfsd_create_serv(void)
>>   {
>>          int error;
>> +       struct net *net = current->nsproxy->net_ns;
>>
>>          WARN_ON(!mutex_is_locked(&nfsd_mutex));
>>          if (nfsd_serv) {
>>
>> Am I missing some later patch?
>>
>
> Maybe I'm missing something.
> My tree is based on yours branch "for-3.8".
> Doe I need to rebase?
>

My bad, sorry.
I forgot to send one patch in this series.

>> --b.
>>
>
>


-- 
Best regards,
Stanislav Kinsbursky

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 0/6] nfsd: cleanup "init_net" references
  2012-12-04 13:50 [PATCH 0/6] nfsd: cleanup "init_net" references Stanislav Kinsbursky
                   ` (5 preceding siblings ...)
  2012-12-04 13:50 ` [PATCH 6/6] nfsd: pass net to __write_ports() and down Stanislav Kinsbursky
@ 2012-12-10  9:18 ` Stanislav Kinsbursky
  6 siblings, 0 replies; 12+ messages in thread
From: Stanislav Kinsbursky @ 2012-12-10  9:18 UTC (permalink / raw)
  To: bfields; +Cc: linux-nfs, Trond.Myklebust, linux-kernel, devel

Drop this series, please.

-- 
Best regards,
Stanislav Kinsbursky

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Devel] [PATCH 3/6] nfsd: pass net to nfsd_create_serv()
  2012-12-10  9:16       ` [Devel] " Stanislav Kinsbursky
@ 2012-12-10 12:34         ` J. Bruce Fields
  0 siblings, 0 replies; 12+ messages in thread
From: J. Bruce Fields @ 2012-12-10 12:34 UTC (permalink / raw)
  To: Stanislav Kinsbursky; +Cc: linux-nfs, Trond.Myklebust, linux-kernel, devel

On Mon, Dec 10, 2012 at 01:16:57PM +0400, Stanislav Kinsbursky wrote:
> 10.12.2012 12:25, Stanislav Kinsbursky пишет:
> >07.12.2012 20:52, J. Bruce Fields пишет:
> >>On Tue, Dec 04, 2012 at 04:50:16PM +0300, Stanislav Kinsbursky wrote:
> >>>diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c
> >>>index 21cba3d..6448391 100644
> >>>--- a/fs/nfsd/nfssvc.c
> >>>+++ b/fs/nfsd/nfssvc.c
> >>>@@ -334,10 +334,9 @@ static int nfsd_get_default_max_blksize(void)
> >>>      return ret;
> >>>  }
> >>>
> >>>-int nfsd_create_serv(void)
> >>>+int nfsd_create_serv(struct net *net)
> >>>  {
> >>>      int error;
> >>>-    struct net *net = &init_net;
> >>
> >>What does this apply to?  Since 3.6-rc1 we have
> >>57c8b13e3cd0f94944c9691ce7f58e5fcef8a12d "NFSd: set nfsd_serv to NULL
> >>after service destruction" which includes:
> >>
> >>@@ -332,6 +330,7 @@ static int nfsd_get_default_max_blksize(void)
> >>  int nfsd_create_serv(void)
> >>  {
> >>         int error;
> >>+       struct net *net = current->nsproxy->net_ns;
> >>
> >>         WARN_ON(!mutex_is_locked(&nfsd_mutex));
> >>         if (nfsd_serv) {
> >>
> >>Am I missing some later patch?
> >>
> >
> >Maybe I'm missing something.
> >My tree is based on yours branch "for-3.8".
> >Doe I need to rebase?
> >
> 
> My bad, sorry.
> I forgot to send one patch in this series.

Thanks, discarding this series, applying the resent version.

--b.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2012-12-10 12:34 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-04 13:50 [PATCH 0/6] nfsd: cleanup "init_net" references Stanislav Kinsbursky
2012-12-04 13:50 ` [PATCH 1/6] nfsd: pass net to nfsd_init_socks() Stanislav Kinsbursky
2012-12-04 13:50 ` [PATCH 2/6] nfsd: pass net to nfsd_startup() and nfsd_shutdown() Stanislav Kinsbursky
2012-12-04 13:50 ` [PATCH 3/6] nfsd: pass net to nfsd_create_serv() Stanislav Kinsbursky
2012-12-07 16:52   ` J. Bruce Fields
2012-12-10  8:25     ` Stanislav Kinsbursky
2012-12-10  9:16       ` [Devel] " Stanislav Kinsbursky
2012-12-10 12:34         ` J. Bruce Fields
2012-12-04 13:50 ` [PATCH 4/6] nfsd: pass net to nfsd_svc() Stanislav Kinsbursky
2012-12-04 13:50 ` [PATCH 5/6] nfsd: pass net to nfsd_set_nrthreads() Stanislav Kinsbursky
2012-12-04 13:50 ` [PATCH 6/6] nfsd: pass net to __write_ports() and down Stanislav Kinsbursky
2012-12-10  9:18 ` [PATCH 0/6] nfsd: cleanup "init_net" references Stanislav Kinsbursky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).