| From d41a9417cd89a69f58a26935034b4264a2d882d6 Mon Sep 17 00:00:00 2001 |
| From: Stanislav Kinsbursky <skinsbursky@parallels.com> |
| Date: Mon, 10 Dec 2012 12:19:25 +0300 |
| Subject: nfsd: pass net to nfsd_svc() |
| |
| From: Stanislav Kinsbursky <skinsbursky@parallels.com> |
| |
| commit d41a9417cd89a69f58a26935034b4264a2d882d6 upstream. |
| |
| Precursor patch. Hard-coded "init_net" will be replaced by proper one in |
| future. |
| |
| Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com> |
| Signed-off-by: J. Bruce Fields <bfields@redhat.com> |
| [wengmeiling: backport to 3.4: |
| - adjust context |
| - one more parameter(int port) for nfsd_svc()] |
| Signed-off-by: Weng Meiling <wengmeiling.weng@huawei.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| fs/nfsd/nfsctl.c | 4 +++- |
| fs/nfsd/nfsd.h | 2 +- |
| fs/nfsd/nfssvc.c | 3 +-- |
| 3 files changed, 5 insertions(+), 4 deletions(-) |
| |
| --- a/fs/nfsd/nfsctl.c |
| +++ b/fs/nfsd/nfsctl.c |
| @@ -389,6 +389,8 @@ static ssize_t write_threads(struct file |
| { |
| char *mesg = buf; |
| int rv; |
| + struct net *net = &init_net; |
| + |
| if (size > 0) { |
| int newthreads; |
| rv = get_int(&mesg, &newthreads); |
| @@ -396,7 +398,7 @@ static ssize_t write_threads(struct file |
| return rv; |
| if (newthreads < 0) |
| return -EINVAL; |
| - rv = nfsd_svc(NFS_PORT, newthreads); |
| + rv = nfsd_svc(NFS_PORT, newthreads, net); |
| if (rv < 0) |
| return rv; |
| } else |
| --- a/fs/nfsd/nfsd.h |
| +++ b/fs/nfsd/nfsd.h |
| @@ -65,7 +65,7 @@ extern const struct seq_operations nfs_e |
| /* |
| * Function prototypes. |
| */ |
| -int nfsd_svc(unsigned short port, int nrservs); |
| +int nfsd_svc(unsigned short port, int nrservs, struct net *net); |
| int nfsd_dispatch(struct svc_rqst *rqstp, __be32 *statp); |
| |
| int nfsd_nrthreads(void); |
| --- a/fs/nfsd/nfssvc.c |
| +++ b/fs/nfsd/nfssvc.c |
| @@ -434,11 +434,10 @@ int nfsd_set_nrthreads(int n, int *nthre |
| * this is the first time nrservs is nonzero. |
| */ |
| int |
| -nfsd_svc(unsigned short port, int nrservs) |
| +nfsd_svc(unsigned short port, 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"); |