svn commit: r271508 - stable/9/sbin/mount_nfs

Bjoern A. Zeeb bz at FreeBSD.org
Sat Sep 13 13:36:18 UTC 2014


Author: bz
Date: Sat Sep 13 13:36:17 2014
New Revision: 271508
URL: http://svnweb.freebsd.org/changeset/base/271508

Log:
  MFC r269583:
  
     Provide -o vers= support for mount_nfs.
  
     Our mount_nfs does use -o nfsv<2|3|4> or -2 or -3 to specify the version.
     OSX (these days), Solaris, and Linux use -o vers=<2,3,4>.
  
     With the upcoming autofs support we can make a lot of (entrerprisy) setups
     getting mount options from LDAP just work by providing -o vers= compatibility.
  
     Reviewed by:	wblock, bjk (man page), rmacklem, emaste
  Sponsored by:	DARPA,AFRL
  PR:		192379

Modified:
  stable/9/sbin/mount_nfs/mount_nfs.8
  stable/9/sbin/mount_nfs/mount_nfs.c
Directory Properties:
  stable/9/sbin/mount_nfs/   (props changed)

Modified: stable/9/sbin/mount_nfs/mount_nfs.8
==============================================================================
--- stable/9/sbin/mount_nfs/mount_nfs.8	Sat Sep 13 10:34:23 2014	(r271507)
+++ stable/9/sbin/mount_nfs/mount_nfs.8	Sat Sep 13 13:36:17 2014	(r271508)
@@ -28,7 +28,7 @@
 .\"	@(#)mount_nfs.8	8.3 (Berkeley) 3/29/95
 .\" $FreeBSD$
 .\"
-.Dd December 7, 2013
+.Dd August 5, 2014
 .Dt MOUNT_NFS 8
 .Os
 .Sh NAME
@@ -335,6 +335,14 @@ tune the timeout
 interval.)
 .It Cm udp
 Use UDP transport.
+.It Cm vers Ns = Ns Aq Ar vers_number
+Use the specified version number for NFS requests.
+See the
+.Cm nfsv2 ,
+.Cm nfsv3 ,
+and 
+.Cm nfsv4
+options for details.
 .It Cm wcommitsize Ns = Ns Aq Ar value
 Set the maximum pending write commit size to the specified value.
 This determines the maximum amount of pending write data that the NFS
@@ -430,6 +438,26 @@ Same as
 Same as
 .Fl o Cm retrans Ns = Ns Aq Ar value
 .El
+.Pp
+The following
+.Fl o
+named options are equivalent to other
+.Fl o
+named options and are supported for compatibility with other
+operating systems (e.g., Linux, Solaris, and OSX) to ease usage of
+.Xr autofs 5
+support.
+.Bl -tag -width indent
+.It Fl o Cm vers Ns = Ns 2
+Same as
+.Fl o Cm nfsv2
+.It Fl o Cm vers Ns = Ns 3
+Same as
+.Fl o Cm nfsv3
+.It Fl o Cm vers Ns = Ns 4
+Same as
+.Fl o Cm nfsv4
+.El
 .Sh SEE ALSO
 .Xr nmount 2 ,
 .Xr unmount 2 ,

Modified: stable/9/sbin/mount_nfs/mount_nfs.c
==============================================================================
--- stable/9/sbin/mount_nfs/mount_nfs.c	Sat Sep 13 10:34:23 2014	(r271507)
+++ stable/9/sbin/mount_nfs/mount_nfs.c	Sat Sep 13 13:36:17 2014	(r271508)
@@ -311,6 +311,32 @@ main(int argc, char *argv[])
 					if (*p || num <= 0)
 						errx(1, "illegal maxgroups value -- %s", val);
 					//set_rpc_maxgrouplist(num);
+				} else if (strcmp(opt, "vers") == 0) {
+					num = strtol(val, &p, 10);
+					if (*p || num <= 0)
+						errx(1, "illegal vers value -- "
+						    "%s", val);
+					switch (num) {
+					case 2:
+						mountmode = V2;
+						break;
+					case 3:
+						mountmode = V3;
+						build_iovec(&iov, &iovlen,
+						    "nfsv3", NULL, 0);
+						break;
+					case 4:
+						mountmode = V4;
+						fstype = "nfs";
+						nfsproto = IPPROTO_TCP;
+						if (portspec == NULL)
+							portspec = "2049";
+						break;
+					default:
+						errx(1, "illegal nfs version "
+						    "value -- %s", val);
+					}
+					pass_flag_to_nmount=0;
 				}
 				if (pass_flag_to_nmount)
 					build_iovec(&iov, &iovlen, opt, val,


More information about the svn-src-all mailing list