summaryrefslogtreecommitdiffstats
path: root/sbin/mount_nfs
diff options
context:
space:
mode:
authoralfred <alfred@FreeBSD.org>2001-11-12 02:33:52 +0000
committeralfred <alfred@FreeBSD.org>2001-11-12 02:33:52 +0000
commitfa9d19d5b5a167a7b50a018bacf9d0bf68db9491 (patch)
tree661a9bb10d2313edc596f0373f96041cee806ac5 /sbin/mount_nfs
parentbdcad4abe9842b7ce28d140987a31959a30d3665 (diff)
downloadFreeBSD-src-fa9d19d5b5a167a7b50a018bacf9d0bf68db9491.zip
FreeBSD-src-fa9d19d5b5a167a7b50a018bacf9d0bf68db9491.tar.gz
Allow users to use the 'nolockd' or -L options with mount_nfs in order
to avoid the need for rpc.lockd to perform client locks. Using this option a user can revert back to using local locks for NFS mounts like we did before we had rpc.lockd.
Diffstat (limited to 'sbin/mount_nfs')
-rw-r--r--sbin/mount_nfs/mount_nfs.820
-rw-r--r--sbin/mount_nfs/mount_nfs.c8
2 files changed, 26 insertions, 2 deletions
diff --git a/sbin/mount_nfs/mount_nfs.8 b/sbin/mount_nfs/mount_nfs.8
index 88110bf..57b9544 100644
--- a/sbin/mount_nfs/mount_nfs.8
+++ b/sbin/mount_nfs/mount_nfs.8
@@ -41,7 +41,7 @@
.Nd mount nfs file systems
.Sh SYNOPSIS
.Nm
-.Op Fl 23NPTUbcdils
+.Op Fl 23NPTUbcdiLls
.Op Fl D Ar deadthresh
.Op Fl I Ar readdirsize
.Op Fl R Ar retrycnt
@@ -109,6 +109,21 @@ message is displayed.
Set the readdir read size to the specified value.
The value should normally
be a multiple of DIRBLKSIZ that is <= the read size for the mount.
+.It Fl L
+Do
+.Em not
+forward
+.Xr fcntl 2
+locks over the wire.
+All locks will be local and not seen by the server
+and likewise not seen by other NFS clients. This removes
+the need to run the
+.Xr rpcbind 8
+service and the
+.Xr rpc.statd 8
+and
+.Xr rpc.lockd 8
+servers on the client.
.It Fl N
Do
.Em not
@@ -226,6 +241,9 @@ Same as
.It intr
Same as
.Fl i .
+.It lockd
+Same as not specifying
+.Fl L .
.It nfsv2
Same as
.Fl 2 .
diff --git a/sbin/mount_nfs/mount_nfs.c b/sbin/mount_nfs/mount_nfs.c
index 778bdd9..8889d07 100644
--- a/sbin/mount_nfs/mount_nfs.c
+++ b/sbin/mount_nfs/mount_nfs.c
@@ -96,6 +96,7 @@ static const char rcsid[] =
#define ALTF_ACREGMAX 0x10000
#define ALTF_ACDIRMIN 0x20000
#define ALTF_ACDIRMAX 0x40000
+#define ALTF_NOLOCKD 0x80000
struct mntopt mopts[] = {
MOPT_STDOPTS,
@@ -118,6 +119,7 @@ struct mntopt mopts[] = {
{ "acregmax=", 0, ALTF_ACREGMAX, 1 },
{ "acdirmin=", 0, ALTF_ACDIRMIN, 1 },
{ "acdirmax=", 0, ALTF_ACDIRMAX, 1 },
+ { "lockd", 1, ALTF_NOLOCKD, 1 },
{ NULL }
};
@@ -228,6 +230,7 @@ set_flags(int* altflags, int* nfsflags, int dir)
F(RDIRPLUS);
F(RESVPORT);
F(SOFT);
+ F(NOLOCKD);
#undef F
#undef F2
@@ -252,7 +255,7 @@ main(argc, argv)
nfsargs = nfsdefargs;
nfsargsp = &nfsargs;
while ((c = getopt(argc, argv,
- "23a:bcdD:g:I:il:No:PpR:r:sTt:w:x:U")) != -1)
+ "23a:bcdD:g:I:iLl:No:PpR:r:sTt:w:x:U")) != -1)
switch (c) {
case '2':
mountmode = V2;
@@ -303,6 +306,9 @@ main(argc, argv)
case 'i':
nfsargsp->flags |= NFSMNT_INT;
break;
+ case 'L':
+ nfsargsp->flags |= NFSMNT_NOLOCKD;
+ break;
case 'l':
nfsargsp->flags |= NFSMNT_RDIRPLUS;
break;
OpenPOWER on IntegriCloud