| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and server. This replaces the RPC implementation of the NFS client and
server with the newer RPC implementation originally developed
(actually ported from the userland sunrpc code) to support the NFS
Lock Manager. I have tested this code extensively and I believe it is
stable and that performance is at least equal to the legacy RPC
implementation.
The NFS code currently contains support for both the new RPC
implementation and the older legacy implementation inherited from the
original NFS codebase. The default is to use the new implementation -
add the NFS_LEGACYRPC option to fall back to the old code. When I
merge this support back to RELENG_7, I will probably change this so
that users have to 'opt in' to get the new code.
To use RPCSEC_GSS on either client or server, you must build a kernel
which includes the KGSSAPI option and the crypto device. On the
userland side, you must build at least a new libc, mountd, mount_nfs
and gssd. You must install new versions of /etc/rc.d/gssd and
/etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf.
As long as gssd is running, you should be able to mount an NFS
filesystem from a server that requires RPCSEC_GSS authentication. The
mount itself can happen without any kerberos credentials but all
access to the filesystem will be denied unless the accessing user has
a valid ticket file in the standard place (/tmp/krb5cc_<uid>). There
is currently no support for situations where the ticket file is in a
different place, such as when the user logged in via SSH and has
delegated credentials from that login. This restriction is also
present in Solaris and Linux. In theory, we could improve this in
future, possibly using Brooks Davis' implementation of variant
symlinks.
Supporting RPCSEC_GSS on a server is nearly as simple. You must create
service creds for the server in the form 'nfs/<fqdn>@<REALM>' and
install them in /etc/krb5.keytab. The standard heimdal utility ktutil
makes this fairly easy. After the service creds have been created, you
can add a '-sec=krb5' option to /etc/exports and restart both mountd
and nfsd.
The only other difference an administrator should notice is that nfsd
doesn't fork to create service threads any more. In normal operation,
there will be two nfsd processes, one in userland waiting for TCP
connections and one in the kernel handling requests. The latter
process will create as many kthreads as required - these should be
visible via 'top -H'. The code has some support for varying the number
of service threads according to load but initially at least, nfsd uses
a fixed number of threads according to the value supplied to its '-n'
option.
Sponsored by: Isilon Systems
MFC after: 1 month
|
|
|
|
|
|
|
| |
to determine whether to call the fallback_mount() backwards
compatibility function or not.
Reviewed by: dfr
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
via nmount(), build up an iovec where each iovec member is an NFS mount
option, and pass the iovec down to the kernel via nmount(). These options
are then parsed in the kernel.
This should make it easier to add new NFS mount options in future.
Many, many thanks to Doug Rabson for taking my initial patches,
and cleaning them up. In addition, Doug added a fallback_mount()
function so that the newer mount_nfs program will work against older
kernels, to facilitate upgrading/downgrading scenarios.
Doug also re-wrote the mount_nfs.8 man page.
Reviewed by: dfr
|
|
|
|
|
| |
Submitted by: danfe
MFC after: 1 week
|
|
|
|
|
|
|
| |
sbin/mount_nfs/mount_nfs.c #1.76. Let the dragons sleep.
Requested by: rodrigc, des
PR: kern/120319 (welcome the bug back)
|
|
|
|
|
|
|
|
|
|
|
| |
NFS root r/w.
The real solution would be to bring the whole nmount(2)
framework, including FS drivers and userland tools, into
a consistent state at last; but things should work in the
meantime, too.
Reported by: kris
|
|
|
|
| |
to see NFS specific string options.
|
|
|
|
|
|
|
| |
Otherwise things won't work as intended, e.g., it'll
be impossible to upgrade NFS root mount to read-write.
Reported by: kris
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
historical relic, and are no longer appropriate for either LAN or WAN
mounting. At modern (gigabit and 10 gigabit) LAN speeds packet loss
from socket buffer fill events is common, and sequence numbers wrap
quickly enough that data corruption is possible. TCP solves both of
these problems without imposing significant overhead.
MFC after: 1 month
|
|
|
|
|
|
|
|
| |
This is for better compatibility with other environments (Linux, Solaris,
HP-UX, AIX and Tru64 support these options).
PR: bin/109924
MFC after: 1 week
|
|
|
|
| |
Suggested by: rees
|
|
|
|
|
|
|
|
|
|
|
| |
If argv[0] == "mount_nfs4", then default to mounting NFSv4,
otherwise if argv[0] == "mount_nfs", default to the old mount_nfs behavior.
- Add a -4 option.
- Add the University of Michigan copyright from mount_nfs4.c, for the
code merged from mount_nfs4.c.
Reviewed by: rees
|
|
|
|
|
|
|
|
| |
This will allow the NFS mount code to return a string error message
in addition to returning an error integer value.
Reviewed by: mohans
MFC after: 1 month
|
|
|
|
|
|
|
|
| |
the "_nfs" part of argv[0]. This should facilitate unifying mount_nfs
and mount_nfs4 into one binary.
MFC after: 1 month
Reviewed by: mohans
|
| |
|
| |
|
|
|
|
| |
Reviewed by: mohans
|
|
|
|
| |
Hinted by: bmah
|
| |
|
|
|
|
|
|
|
| |
as I know, Sun's NFS support works with TCP just fine. This is even
hinted at in the PR.
PR: 71782
|
|
|
|
| |
of the macro.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
use of the macro in sbin/mount*'s, by replacing:
mopts[] = {
MOPT_STDOPTS,
{ NULL }
}
With:
mopts[] = {
MOPT_STDOPTS,
MOPT_NULL
}
This change will help to reduce the situation that we don't explicitly
initialize "struct mntopt"'s. It should not contribute to any
functional/logical changes as far as I can tell.
|
| |
|
| |
|
|
|
|
|
|
| |
per letter dated July 22, 1999.
Approved by: core, imp
|
|
|
|
| |
Use WARNS?= instead of WARNS=.
|
|
|
|
| |
Reported by: naddy
|
| |
|
|
|
|
|
|
|
| |
PR: 37221
Submitted by: Joshua Goodall <joshua@roughtrade.net>
Reviewed by: rwatson
Approved by: re (jhb)
|
|
|
|
|
|
|
|
| |
-P which could be interpreted as 'this option must be specified'.
PR: 37221 && 51886
Discussed with: bmah
Approved by: re (blanket)
|
| |
|
|
|
|
|
|
|
| |
address families.
This is useful for preventing NFS mounts from using IPv6 on hosts
that have both A and AAAA records for the same name.
|
|
|
|
| |
- WARNS=2
|
| |
|
|
|
|
|
|
| |
last commit.
Spotted by: kris
|
|
|
|
|
|
|
|
|
|
|
|
| |
in /etc/fstab. This isn't a real fix though and I'm still not sure
why it started failing. mount(8) breaks up the nfs args into seperate
repeated '-o option=value' arguments. But, the altflags variable that
we use to track things is incrementally built up each time we see the
next option and shows us the cumulative set of flags, not just the
flag that we are currently looking at. As a result, the strstr hack
for looking up flags in a giant -o opt=val,opt=val, etc string was failing
and causing a segfault. I do not know what changed recently that caused
this to suddenly break, but the code has been rather bogus for some time.
|
|
|
|
|
|
|
| |
communication with the remote NFS server if this flag is specified.
PR: bin/42003
Submitted by: Jean-Luc Richier <Jean-Luc.Richier@imag.fr>
|
| |
|
|
|
|
|
|
|
|
| |
translated from ALTF_* to NFSMNT_* thus these options weren't accepted
by kernel.
PR: bin/30334
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
| |
remove all the code which was trying to do so.
This code was nasty in several ways, it was hiding
the kernel bug where the kernel was unable to properly
load a module, and it was quitting if it wasn't able
to load the module. The consequence is that an ABI
breakage of the vfsconf API would have broken *every*
mount utility.
|
|
|
|
|
| |
PR: kern/40360
Requested by: Hiten PAndya via direct email
|
| |
|
| |
|
|
|
|
| |
o main prototype removed
|
|
|
|
|
|
| |
It does not help modern compilers, and some may take some hit from it.
(I also found several functions that listed *every* of its 10 local vars with
"register" -- just how many free registers do people think machines have?)
|
|
|
|
|
|
| |
Binary builds that cannot handle this must explicitly set WARNS=0.
Reviewed by: mike
|
| |
|
|
|
|
|
|
| |
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.
|