From abb884ffe09ee2045c10aefdb17c1b476cd95833 Mon Sep 17 00:00:00 2001 From: trasz Date: Sat, 29 Nov 2014 15:55:35 +0000 Subject: [PATCH] MFC r273848: Get rid of obsolete code in mount_nfs(8). MFC r273861: Remove two functions unused after r273848. Would be nice if clang or at least scan-build yelled about it. Sponsored by: The FreeBSD Foundation --- sbin/mount_nfs/mount_nfs.c | 248 +------------------------------------ 1 file changed, 2 insertions(+), 246 deletions(-) diff --git a/sbin/mount_nfs/mount_nfs.c b/sbin/mount_nfs/mount_nfs.c index dc38720095b..fb986ce221a 100644 --- a/sbin/mount_nfs/mount_nfs.c +++ b/sbin/mount_nfs/mount_nfs.c @@ -130,7 +130,6 @@ enum tryret { TRYRET_LOCALERR /* Local failure. */ }; -static int fallback_mount(struct iovec *iov, int iovlen); static int sec_name_to_num(char *sec); static char *sec_num_to_name(int num); static int getnfsargs(char *, struct iovec **iov, int *iovlen); @@ -150,7 +149,6 @@ main(int argc, char *argv[]) int c; struct iovec *iov; int num, iovlen; - int osversion; char *name, *p, *spec, *fstype; char mntpath[MAXPATHLEN], errmsg[255]; char hostname[MAXHOSTNAMELEN + 1], *gssname, gssn[MAXHOSTNAMELEN + 50]; @@ -472,254 +470,12 @@ main(int argc, char *argv[]) build_iovec(&iov, &iovlen, "fspath", mntpath, (size_t)-1); build_iovec(&iov, &iovlen, "errmsg", errmsg, sizeof(errmsg)); - /* - * XXX: - * Backwards compatibility routines for older kernels. - * Remove this and fallback_mount() code when we do not need to support - * NFS mounts against older kernels which still need - * struct nfs_args to be passed in via nmount(). - */ - osversion = getosreldate(); - if (osversion >= 702100) { - if (nmount(iov, iovlen, 0)) - err(1, "%s, %s", mntpath, errmsg); - } else { - if (fallback_mount(iov, iovlen)) - err(1, "%s, %s", mntpath, errmsg); - } + if (nmount(iov, iovlen, 0)) + err(1, "%s, %s", mntpath, errmsg); exit(0); } -static int -findopt(struct iovec *iov, int iovlen, const char *name, - char **valuep, int *lenp) -{ - int i; - - for (i = 0; i < iovlen/2; i++, iov += 2) { - if (strcmp(name, iov[0].iov_base) == 0) { - if (valuep) - *valuep = iov[1].iov_base; - if (lenp) - *lenp = iov[1].iov_len; - return (0); - } - } - return (ENOENT); -} - -static void -copyopt(struct iovec **newiov, int *newiovlen, - struct iovec *iov, int iovlen, const char *name) -{ - char *value; - int len; - - if (findopt(iov, iovlen, name, &value, &len) == 0) - build_iovec(newiov, newiovlen, name, value, len); -} - -/* - * XXX: This function is provided for backwards - * compatibility with older kernels which did not support - * passing NFS mount options to nmount() as individual - * parameters. It should be eventually be removed. - */ -static int -fallback_mount(struct iovec *iov, int iovlen) -{ - struct nfs_args args = { - .version = NFS_ARGSVERSION, - .addr = NULL, - .addrlen = sizeof (struct sockaddr_in), - .sotype = SOCK_STREAM, - .proto = 0, - .fh = NULL, - .fhsize = 0, - .flags = NFSMNT_RESVPORT, - .wsize = NFS_WSIZE, - .rsize = NFS_RSIZE, - .readdirsize = NFS_READDIRSIZE, - .timeo = 10, - .retrans = NFS_RETRANS, - .maxgrouplist = NFS_MAXGRPS, - .readahead = NFS_DEFRAHEAD, - .wcommitsize = 0, /* was: NQ_DEFLEASE */ - .deadthresh = NFS_MAXDEADTHRESH, /* was: NQ_DEADTHRESH */ - .hostname = NULL, - /* args version 4 */ - .acregmin = NFS_MINATTRTIMO, - .acregmax = NFS_MAXATTRTIMO, - .acdirmin = NFS_MINDIRATTRTIMO, - .acdirmax = NFS_MAXDIRATTRTIMO, - }; - int ret; - char *opt; - struct iovec *newiov; - int newiovlen; - - if (findopt(iov, iovlen, "dumbtimer", NULL, NULL) == 0) - args.flags |= NFSMNT_DUMBTIMR; - if (findopt(iov, iovlen, "noconn", NULL, NULL) == 0) - args.flags |= NFSMNT_NOCONN; - if (findopt(iov, iovlen, "conn", NULL, NULL) == 0) - args.flags |= NFSMNT_NOCONN; - if (findopt(iov, iovlen, "nolockd", NULL, NULL) == 0) - args.flags |= NFSMNT_NOLOCKD; - if (findopt(iov, iovlen, "lockd", NULL, NULL) == 0) - args.flags &= ~NFSMNT_NOLOCKD; - if (findopt(iov, iovlen, "intr", NULL, NULL) == 0) - args.flags |= NFSMNT_INT; - if (findopt(iov, iovlen, "rdirplus", NULL, NULL) == 0) - args.flags |= NFSMNT_RDIRPLUS; - if (findopt(iov, iovlen, "resvport", NULL, NULL) == 0) - args.flags |= NFSMNT_RESVPORT; - if (findopt(iov, iovlen, "noresvport", NULL, NULL) == 0) - args.flags &= ~NFSMNT_RESVPORT; - if (findopt(iov, iovlen, "soft", NULL, NULL) == 0) - args.flags |= NFSMNT_SOFT; - if (findopt(iov, iovlen, "hard", NULL, NULL) == 0) - args.flags &= ~NFSMNT_SOFT; - if (findopt(iov, iovlen, "mntudp", NULL, NULL) == 0) - args.sotype = SOCK_DGRAM; - if (findopt(iov, iovlen, "udp", NULL, NULL) == 0) - args.sotype = SOCK_DGRAM; - if (findopt(iov, iovlen, "tcp", NULL, NULL) == 0) - args.sotype = SOCK_STREAM; - if (findopt(iov, iovlen, "nfsv3", NULL, NULL) == 0) - args.flags |= NFSMNT_NFSV3; - if (findopt(iov, iovlen, "readdirsize", &opt, NULL) == 0) { - if (opt == NULL) { - errx(1, "illegal readdirsize"); - } - ret = sscanf(opt, "%d", &args.readdirsize); - if (ret != 1 || args.readdirsize <= 0) { - errx(1, "illegal readdirsize: %s", opt); - } - args.flags |= NFSMNT_READDIRSIZE; - } - if (findopt(iov, iovlen, "readahead", &opt, NULL) == 0) { - if (opt == NULL) { - errx(1, "illegal readahead"); - } - ret = sscanf(opt, "%d", &args.readahead); - if (ret != 1 || args.readahead <= 0) { - errx(1, "illegal readahead: %s", opt); - } - args.flags |= NFSMNT_READAHEAD; - } - if (findopt(iov, iovlen, "wsize", &opt, NULL) == 0) { - if (opt == NULL) { - errx(1, "illegal wsize"); - } - ret = sscanf(opt, "%d", &args.wsize); - if (ret != 1 || args.wsize <= 0) { - errx(1, "illegal wsize: %s", opt); - } - args.flags |= NFSMNT_WSIZE; - } - if (findopt(iov, iovlen, "rsize", &opt, NULL) == 0) { - if (opt == NULL) { - errx(1, "illegal rsize"); - } - ret = sscanf(opt, "%d", &args.rsize); - if (ret != 1 || args.rsize <= 0) { - errx(1, "illegal wsize: %s", opt); - } - args.flags |= NFSMNT_RSIZE; - } - if (findopt(iov, iovlen, "retrans", &opt, NULL) == 0) { - if (opt == NULL) { - errx(1, "illegal retrans"); - } - ret = sscanf(opt, "%d", &args.retrans); - if (ret != 1 || args.retrans <= 0) { - errx(1, "illegal retrans: %s", opt); - } - args.flags |= NFSMNT_RETRANS; - } - if (findopt(iov, iovlen, "acregmin", &opt, NULL) == 0) { - ret = sscanf(opt, "%d", &args.acregmin); - if (ret != 1 || args.acregmin < 0) { - errx(1, "illegal acregmin: %s", opt); - } - args.flags |= NFSMNT_ACREGMIN; - } - if (findopt(iov, iovlen, "acregmax", &opt, NULL) == 0) { - ret = sscanf(opt, "%d", &args.acregmax); - if (ret != 1 || args.acregmax < 0) { - errx(1, "illegal acregmax: %s", opt); - } - args.flags |= NFSMNT_ACREGMAX; - } - if (findopt(iov, iovlen, "acdirmin", &opt, NULL) == 0) { - ret = sscanf(opt, "%d", &args.acdirmin); - if (ret != 1 || args.acdirmin < 0) { - errx(1, "illegal acdirmin: %s", opt); - } - args.flags |= NFSMNT_ACDIRMIN; - } - if (findopt(iov, iovlen, "acdirmax", &opt, NULL) == 0) { - ret = sscanf(opt, "%d", &args.acdirmax); - if (ret != 1 || args.acdirmax < 0) { - errx(1, "illegal acdirmax: %s", opt); - } - args.flags |= NFSMNT_ACDIRMAX; - } - if (findopt(iov, iovlen, "wcommitsize", &opt, NULL) == 0) { - ret = sscanf(opt, "%d", &args.wcommitsize); - if (ret != 1 || args.wcommitsize < 0) { - errx(1, "illegal wcommitsize: %s", opt); - } - args.flags |= NFSMNT_WCOMMITSIZE; - } - if (findopt(iov, iovlen, "deadthresh", &opt, NULL) == 0) { - ret = sscanf(opt, "%d", &args.deadthresh); - if (ret != 1 || args.deadthresh <= 0) { - errx(1, "illegal deadthresh: %s", opt); - } - args.flags |= NFSMNT_DEADTHRESH; - } - if (findopt(iov, iovlen, "timeout", &opt, NULL) == 0) { - ret = sscanf(opt, "%d", &args.timeo); - if (ret != 1 || args.timeo <= 0) { - errx(1, "illegal timeout: %s", opt); - } - args.flags |= NFSMNT_TIMEO; - } - if (findopt(iov, iovlen, "maxgroups", &opt, NULL) == 0) { - ret = sscanf(opt, "%d", &args.maxgrouplist); - if (ret != 1 || args.timeo <= 0) { - errx(1, "illegal maxgroups: %s", opt); - } - args.flags |= NFSMNT_MAXGRPS; - } - if (findopt(iov, iovlen, "addr", &opt, - &args.addrlen) == 0) { - args.addr = (struct sockaddr *) opt; - } - if (findopt(iov, iovlen, "fh", &opt, &args.fhsize) == 0) { - args.fh = opt; - } - if (findopt(iov, iovlen, "hostname", &args.hostname, - NULL) == 0) { - } - if (args.hostname == NULL) { - errx(1, "Invalid hostname"); - } - - newiov = NULL; - newiovlen = 0; - - build_iovec(&newiov, &newiovlen, "nfs_args", &args, sizeof(args)); - copyopt(&newiov, &newiovlen, iov, iovlen, "fstype"); - copyopt(&newiov, &newiovlen, iov, iovlen, "fspath"); - copyopt(&newiov, &newiovlen, iov, iovlen, "errmsg"); - - return nmount(newiov, newiovlen, 0); -} - static int sec_name_to_num(char *sec) { -- 2.45.2