diff options
author | hjl <hjl> | 1999-10-18 23:21:12 +0000 |
---|---|---|
committer | hjl <hjl> | 1999-10-18 23:21:12 +0000 |
commit | 8b7ad01b14df1e7529b9ba8a1ea17df0d6004ef9 (patch) | |
tree | 0904ef8554ed680fe3244fa618685e1fb7ea148b /utils/nfsd | |
download | nfs-utils-8b7ad01b14df1e7529b9ba8a1ea17df0d6004ef9.tar.gz nfs-utils-8b7ad01b14df1e7529b9ba8a1ea17df0d6004ef9.tar.xz nfs-utils-8b7ad01b14df1e7529b9ba8a1ea17df0d6004ef9.zip |
Initial revision
Diffstat (limited to 'utils/nfsd')
-rw-r--r-- | utils/nfsd/Makefile | 35 | ||||
-rw-r--r-- | utils/nfsd/nfsd.c | 68 | ||||
-rw-r--r-- | utils/nfsd/nfsd.man | 46 |
3 files changed, 149 insertions, 0 deletions
diff --git a/utils/nfsd/Makefile b/utils/nfsd/Makefile new file mode 100644 index 0000000..4cc6f8a --- /dev/null +++ b/utils/nfsd/Makefile @@ -0,0 +1,35 @@ +# +# Makefile for knfsd +# + +PROGRAM = nfsd +PREFIX = rpc. +OBJS = nfsd.o +DEPLIBS = $(TOP)support/lib/libfs.a +LIBS = -lnfs +MAN8 = nfsd + +include $(TOP)rules.mk + +# +# all:: nfsd +# @echo "Done." +# +# nfsd: $(OBJS) +# $(CC) $(LDFLAGS) -o $@ $(OBJS) -lnfs +# +# clean distclean:: +# rm -f *.o +# +# distclean:: +# rm -f nfsd .depend +# +# install:: +# install -o root -g root -m 755 nfsd /usr/sbin/rpc.$knfsd +# +# dep:: +# $(CC) $(CFLAGS) -M $(OBJS:.o=.c) > .depend +# +# ifeq (.depend,$(wildcard .depend)) +# include .depend +# endif diff --git a/utils/nfsd/nfsd.c b/utils/nfsd/nfsd.c new file mode 100644 index 0000000..3a22370 --- /dev/null +++ b/utils/nfsd/nfsd.c @@ -0,0 +1,68 @@ +/* + * nfsd + * + * This is the user level part of nfsd. This is very primitive, because + * all the work is now done in the kernel module. + * + * Copyright (C) 1995, 1996 Olaf Kirch <okir@monad.swb.de> + */ + +#include "config.h" + +#include <stdio.h> +#include <stdlib.h> +#include <getopt.h> +#include "nfslib.h" + +static void usage(const char *); + +int +main(int argc, char **argv) +{ + int count = 1, c, error, port; + + port = 2049; + + /* FIXME: Check for nfs in /etc/services */ + + while ((c = getopt(argc, argv, "hp:P:")) != EOF) { + switch(c) { + case 'P': /* XXX for nfs-server compatibility */ + case 'p': + port = atoi(optarg); + if (port <= 0 || port > 65535) { + fprintf(stderr, "%s: bad port number: %s\n", + argv[0], optarg); + usage(argv [0]); + } + break; + break; + case 'h': + default: + usage(argv[0]); + } + } + + if (optind < argc) { + if ((count = atoi(argv[optind])) < 0) { + /* insane # of servers */ + fprintf(stderr, + "%s: invalid server count (%d), using 1\n", + argv[0], count); + count = 1; + } + } + + if ((error = nfssvc(port, count)) < 0) + perror("nfssvc"); + + return (error != 0); +} + +static void +usage(const char *prog) +{ + fprintf(stderr, "usage:\n" + "%s nrservs\n", prog); + exit(2); +} diff --git a/utils/nfsd/nfsd.man b/utils/nfsd/nfsd.man new file mode 100644 index 0000000..f415cfd --- /dev/null +++ b/utils/nfsd/nfsd.man @@ -0,0 +1,46 @@ +.\" +.\" nfsd(8) +.\" +.\" Copyright (C) 1999 Olaf Kirch <okir@monad.swb.de> +.TH rpc.nfsd 8 "31 May 1999" +.SH NAME +rpc.nfsd \- NFS server process +.SH SYNOPSIS +.BI "/usr/sbin/rpc.nfsd [-p " port "] " nproc +.SH DESCRIPTION +The +.B rpc.nfsd +program implements the user level part of the NFS service. The +main functionality is handled by the +.B nfsd.o +kernel module; the user space program merely starts the specified +number of kernel threads. +.P +The +.B rpc.mountd +server provides an ancially service needed to satisfy mount requests +by NFS clients. +.SH OPTIONS +.TP +.BI \-p " port" +specify a diferent port to listen on for NFS requests. By default, +.B rpc.nfsd +will listen on port 2049. +.TP +.I nproc +specify the number of NFS server threads. By default, just one +thread is started. However, for optimum performance several threads +should be used. The actual figure depends on the number of and the work +load created by the NFS clients, but a useful starting point is +8 threads. Effects of modifying that number can be checked using +the +.BR nfsstat (8) +program. +.SH SEE ALSO +.BR rpc.mountd (8), +.BR exportfs (8), +.BR rpc.rquotad (8), +.BR nfsstat (8). +.SH AUTHOR +Olaf Kirch, Bill Hawes, H. J. Lu, G. Allan Morris III, +and a host of others. |