diff options
author | Stanislav Kinsbursky <skinsbursky@parallels.com> | 2012-12-10 04:19:35 -0500 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2012-12-10 16:25:36 -0500 |
commit | 081603520b25f7b35ef63a363376a17c36ef74ed (patch) | |
tree | 7b0243d3c0dad67ed32207a1d2bb00626a67958b /fs/nfsd/nfsctl.c | |
parent | 3938a0d5eb5effcc89c6909741403f4e6a37252d (diff) |
nfsd: pass net to __write_ports() and down
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>
Diffstat (limited to 'fs/nfsd/nfsctl.c')
-rw-r--r-- | 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 58f0ae44779d..8536100b7fc1 100644 --- a/fs/nfsd/nfsctl.c +++ b/fs/nfsd/nfsctl.c | |||
@@ -657,11 +657,10 @@ static ssize_t __write_ports_names(char *buf) | |||
657 | * a socket of a supported family/protocol, and we use it as an | 657 | * a socket of a supported family/protocol, and we use it as an |
658 | * nfsd listener. | 658 | * nfsd listener. |
659 | */ | 659 | */ |
660 | static ssize_t __write_ports_addfd(char *buf) | 660 | static ssize_t __write_ports_addfd(char *buf, struct net *net) |
661 | { | 661 | { |
662 | char *mesg = buf; | 662 | char *mesg = buf; |
663 | int fd, err; | 663 | int fd, err; |
664 | struct net *net = &init_net; | ||
665 | 664 | ||
666 | err = get_int(&mesg, &fd); | 665 | err = get_int(&mesg, &fd); |
667 | if (err != 0 || fd < 0) | 666 | if (err != 0 || fd < 0) |
@@ -686,12 +685,11 @@ static ssize_t __write_ports_addfd(char *buf) | |||
686 | * A transport listener is added by writing it's transport name and | 685 | * A transport listener is added by writing it's transport name and |
687 | * a port number. | 686 | * a port number. |
688 | */ | 687 | */ |
689 | static ssize_t __write_ports_addxprt(char *buf) | 688 | static ssize_t __write_ports_addxprt(char *buf, struct net *net) |
690 | { | 689 | { |
691 | char transport[16]; | 690 | char transport[16]; |
692 | struct svc_xprt *xprt; | 691 | struct svc_xprt *xprt; |
693 | int port, err; | 692 | int port, err; |
694 | struct net *net = &init_net; | ||
695 | 693 | ||
696 | if (sscanf(buf, "%15s %5u", transport, &port) != 2) | 694 | if (sscanf(buf, "%15s %5u", transport, &port) != 2) |
697 | return -EINVAL; | 695 | return -EINVAL; |
@@ -727,16 +725,17 @@ out_err: | |||
727 | return err; | 725 | return err; |
728 | } | 726 | } |
729 | 727 | ||
730 | static ssize_t __write_ports(struct file *file, char *buf, size_t size) | 728 | static ssize_t __write_ports(struct file *file, char *buf, size_t size, |
729 | struct net *net) | ||
731 | { | 730 | { |
732 | if (size == 0) | 731 | if (size == 0) |
733 | return __write_ports_names(buf); | 732 | return __write_ports_names(buf); |
734 | 733 | ||
735 | if (isdigit(buf[0])) | 734 | if (isdigit(buf[0])) |
736 | return __write_ports_addfd(buf); | 735 | return __write_ports_addfd(buf, net); |
737 | 736 | ||
738 | if (isalpha(buf[0])) | 737 | if (isalpha(buf[0])) |
739 | return __write_ports_addxprt(buf); | 738 | return __write_ports_addxprt(buf, net); |
740 | 739 | ||
741 | return -EINVAL; | 740 | return -EINVAL; |
742 | } | 741 | } |
@@ -787,9 +786,10 @@ static ssize_t __write_ports(struct file *file, char *buf, size_t size) | |||
787 | static ssize_t write_ports(struct file *file, char *buf, size_t size) | 786 | static ssize_t write_ports(struct file *file, char *buf, size_t size) |
788 | { | 787 | { |
789 | ssize_t rv; | 788 | ssize_t rv; |
789 | struct net *net = &init_net; | ||
790 | 790 | ||
791 | mutex_lock(&nfsd_mutex); | 791 | mutex_lock(&nfsd_mutex); |
792 | rv = __write_ports(file, buf, size); | 792 | rv = __write_ports(file, buf, size, net); |
793 | mutex_unlock(&nfsd_mutex); | 793 | mutex_unlock(&nfsd_mutex); |
794 | return rv; | 794 | return rv; |
795 | } | 795 | } |