Message ID | 20121204135016.24504.74168.stgit@localhost.localdomain (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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. >
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. >> > >
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. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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;
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(-) -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html