X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fnfsd%2Fnfsd.c;h=e87c0a95952d17e584476312ef250ba1519d3bca;hp=8bc5d3ad9afc5b962164d188354c8587d29b545c;hb=e79baddaa1d8cf24cce929e14f6f91ac0d5e15d0;hpb=fe34ff0312c7c22554087ecd78bbbeadb38ce195 diff --git a/utils/nfsd/nfsd.c b/utils/nfsd/nfsd.c index 8bc5d3a..e87c0a9 100644 --- a/utils/nfsd/nfsd.c +++ b/utils/nfsd/nfsd.c @@ -27,6 +27,10 @@ #include "nfssvc.h" #include "xlog.h" +#ifndef NFSD_NPROC +#define NFSD_NPROC 8 +#endif + static void usage(const char *); static struct option longopts[] = @@ -34,6 +38,7 @@ static struct option longopts[] = { "host", 1, 0, 'H' }, { "help", 0, 0, 'h' }, { "no-nfs-version", 1, 0, 'N' }, + { "nfs-version", 1, 0, 'V' }, { "no-tcp", 0, 0, 'T' }, { "no-udp", 0, 0, 'U' }, { "port", 1, 0, 'P' }, @@ -90,7 +95,7 @@ nfsd_enable_protos(unsigned int *proto4, unsigned int *proto6) int main(int argc, char **argv) { - int count = 1, c, error = 0, portnum = 0, fd, found_one; + int count = NFSD_NPROC, c, error = 0, portnum = 0, fd, found_one; char *p, *progname, *port; char *haddr = NULL; int socket_up = 0; @@ -115,7 +120,7 @@ main(int argc, char **argv) xlog_syslog(0); xlog_stderr(1); - while ((c = getopt_long(argc, argv, "dH:hN:p:P:sTU", longopts, NULL)) != EOF) { + while ((c = getopt_long(argc, argv, "dH:hN:V:p:P:sTU", longopts, NULL)) != EOF) { switch(c) { case 'd': xlog_config(D_ALL, 1); @@ -171,6 +176,27 @@ main(int argc, char **argv) exit(1); } break; + case 'V': + switch((c = strtol(optarg, &p, 0))) { + case 4: + if (*p == '.') { + int i = atoi(p+1); + if (i != 1) { + fprintf(stderr, "%s: unsupported minor version\n", optarg); + exit(1); + } + minorvers41 = 1; + break; + } + case 3: + case 2: + NFSCTL_VERSET(versbits, c); + break; + default: + fprintf(stderr, "%s: Unsupported version\n", optarg); + exit(1); + } + break; case 's': xlog_syslog(1); xlog_stderr(0); @@ -308,7 +334,7 @@ static void usage(const char *prog) { fprintf(stderr, "Usage:\n" - "%s [-d|--debug] [-H hostname] [-p|-P|--port port] [-N|--no-nfs-version version ] [-s|--syslog] [-T|--no-tcp] [-U|--no-udp] nrservs\n", + "%s [-d|--debug] [-H hostname] [-p|-P|--port port] [-N|--no-nfs-version version] [-V|--nfs-version version] [-s|--syslog] [-T|--no-tcp] [-U|--no-udp] nrservs\n", prog); exit(2); }