summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* systemd: tidy up DefaultDependenciesNeilBrown2014-03-247-4/+7
| | | | | | | | | | | | | | | DefaultDependencies should be "yes" (the default) for things needed only be the NFS server, as that is a service that doesn't need to start early. DefaultDependencies should be "no" for things needed to mount an NFS filesystem, and filesystems are mounted before basic.target. To ensure these services are shut down in a timely fashion, they must Conflict with systemd.umount so they are shutdown when everything is unmounted. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* systemd: add nfs-utils.service which can be used to restart everything.NeilBrown2014-03-249-0/+40
| | | | | | | | | | With this patch, systemctl restart nfs-utils will restart any nfs-utils daemons that are currently running, whether there were started via nfs-server.service, nfs-client.target, or directly by systemctl. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* start-statd: converted to use systemdNeilBrown2014-03-241-2/+5
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Added systemd/var-lib-nfs-rpc_pipefs.mountNeilBrown2014-03-241-0/+8
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Added systemd/rpc-svcgssd.serviceNeilBrown2014-03-241-0/+15
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Added systemd/rpc-statd.serviceNeilBrown2014-03-241-0/+12
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Added systemd/rpc-statd-notify.serviceNeilBrown2014-03-241-0/+17
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Added systemd/rpc-gssd.serviceNeilBrown2014-03-241-0/+14
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Added systemd/proc-fs-nfsd.mountNeilBrown2014-03-241-0/+8
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Added systemd/nfs-server.targetNeilBrown2014-03-241-0/+8
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Added systemd/nfs-server.serviceNeilBrown2014-03-241-0/+24
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Added systemd/nfs-secure.targetNeilBrown2014-03-241-0/+8
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Added systemd/nfs-mountd.serviceNeilBrown2014-03-241-0/+13
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Added systemd/nfs-idmapd.serviceNeilBrown2014-03-241-0/+9
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Added systemd/nfs-client.targetNeilBrown2014-03-241-0/+13
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Added systemd/nfs-blkmap.targetNeilBrown2014-03-241-0/+8
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Added systemd/nfs-blkmap.serviceNeilBrown2014-03-241-0/+11
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Added systemd/READMENeilBrown2014-03-241-0/+50
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* mount: chk_mountpoint should only check for execute perms for unpriveleged usersScott Mayhew2014-03-221-1/+1
| | | | | | | | Otherwise 'mount -o remount' fails on mounts that have root squashing enabled and world execute perms disabled. Signed-off-by: Scott Mayhew <smayhew@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* exportfs: Support raw IPv6 addresses with "client:/path"Chuck Lever2014-03-172-2/+78
| | | | | | | | | | | Wrap IPv6 presentation addresses in square brackets. This echoes the same syntax used when specifying IPv6 server addresses with the mount.nfs command. BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=817557 Tested-by: Steve Dickson <steved@redaht.com> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* exportfs: Refactor exportfs() and unexportfs()Chuck Lever2014-03-171-23/+51
| | | | | | | | | | Separate parsing the "client:/path" argument from the actual processing. BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=817557 Tested-by: Steve Dickson <steved@redaht.com> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfs(5): intr/nointr are ignored nowJim Rees2014-03-131-47/+4
| | | | | Signed-off-by: Jim Rees <rees@umich.edu> Signed-off-by: Steve Dickson <steved@redhat.com>
* [PATCH - v3] mount.nfs: Fix fallback from tcp to udpNeilBrown2014-03-133-18/+50
| | | | | | | | | | | | | | | | | | | | | | | | | Protocol negotiation in mount.nfs does not correctly negotiate with a server which only supports NFSv3 and UDP. When mount.nfs attempts an NFSv4 mount and fails with ECONNREFUSED it does not fall back to NFSv3, as this is not recognised as a "does not support NFSv4" error. However ECONNREFUSED is a clear indication that the server doesn't support TCP, and ipso facto does not support NFSv4. So ECONNREFUSED should trigger a fallback from v4 to v2/3. However ECONNREFUSED may simply indicate that NFSv4 isn't supported *yet*. i.e. the server is still booting and isn't responding to NFS requests yet. So if we subsequently find that NFSv3 is supported, we need to check with the server to confirm that NFSv4 really isn't supported. If server reports that v4 is not supported after reporting that v3 is, we can safely use v4. If it reports that v4 is supported, we need to retry v4. Signed-off-by: Steve Dickson <steved@redhat.com> Reported-by: Carsten Ziepke <kieltux@gmail.com>
* mountd: use SONAME fir libnfsjunct when loading with dlopenNeilBrown2014-03-111-2/+7
| | | | | | | | | | | | | | | | | | | | | | | The standard for loading shared libraries is to identify them by their "soname" (Which "objdump -x $BINARY | grep SONAME" will report). However mountd currently loads using the "linker name" which should only be used when building new code. Future releases of fedfs-utils will define the soname in the include file, so if that is defined, use it. If not, use the soname of the first version: "libnfsjunct.so.0". This is a slight behavioural change. However all distros known to package fedfs-utils will install "libnfsjunct.so.0" whenever they install the old name of "libnfsjunct.so", and "make install" will install both. So it should not be a noticeable change. Also only test the JP_API_VERSION if it is defined. As the version is embedded in the soname, a secondary test is not needed. Cc: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfsd: permit to use multiple time the -H optionMichael Scherer2014-03-112-17/+35
| | | | | | | | This permit to have 1 nfsd listening on more than 1 interface for multihomed systems, without having to listen on all interfaces and filtering later. Signed-off-by: Steve Dickson <steved@redhat.com>
* tools: use install -m instead of --modeAaro Koskinen2014-03-112-2/+2
| | | | | | | | Use install -m instead of--mode for better compatibility. E.g. busybox's install doesn't support the long option. Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfsidmap: fix error reporting for nfs4_* family of functionsMateusz Guzik2014-03-113-5/+19
| | | | | | | | | | Errors were logged with xlog_err function relying on errno, but these functions don't set it. Fix the problem by introducing xlog_errno which set errno Signed-off-by: Mateusz Guzik <mguzik@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* statd: add options to set port number of lockdNeilBrown2014-03-112-5/+76
| | | | | | | | | | | Even though lockd is a totally separate process to statd, they depended on each other: statd much be running for lockd to be useful. So an easy way to set the port numbers used by lockd is to get statd to set them. This patch add --nlm-port and --nlm-tcp-port to that end. Signed-off-by: Steve Dickson <steved@redhat.com>
* nfsd: set nlm grace time to make NFSv4 grace timeNeilBrown2014-03-112-1/+10
| | | | | | | | These two values are conceptually very similar, so it probably makes sense to set them to the same value at the same time. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfsd: allow nfsv4leasetime and nfsv4gracetime to be setNeilBrown2014-03-114-6/+60
| | | | | | | New arguments --gracetime (-G) and --leasetime (-L) Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfsd: add -r and --rdma options to request rdma serviceNeilBrown2014-03-114-4/+63
| | | | | | | As nfsd establishes UDP and TCP ports, it should establish RDMA too. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: Drop full domain when constructing the Ad hostname.Simo Sorce2014-03-101-1/+3
| | | | | | | | | | | When trying to use the special MS Windows hostanme we need to stop at the first '.' if we got a FQDN from gethostname() Tee HOST$@REALM form in fact uses the AD samAccountName attribute to represent 'HOST', and that attribute is always the host's shortname. Characters like '.' are actually illegal for a shortname in AD. Signed-off-by: Simo Sorce <simo@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfsd: support NFS4_MAXMINOR up to the number an unsigned int can keepSteve Dickson2014-02-134-13/+19
| | | | | | | | | | | | | | | | | | | This implementation allows specifying NFS4 minor version numbers up to the number of bits available in int data type (typically 32 on Linux) This is based on an idea mentioned by J. Bruce Fields <bfields@fieldses.org> mentioned on the linux-nfs mailing list. I changed the data type back from an array to two bit fields, one for storing whether the minor version was specified on the command line and the second one for storing whether it was set or unset. This change was done to prevent blowing up the allocated stack space in an unnecessary fashion. Acked-by: J. Bruce Fields <bfields@fieldses.org> Signed-off-by: Robert Schiele <rschiele@gmail.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: set $HOME to prevent recursion when home dirs are on kerberized NFS mountJeff Layton2014-01-221-0/+13
| | | | | | | | | | | | | | | | | | Some krb5 routines will attempt to access files in the user's home directory. This is problematic for gssd when the user's homedir is on a kerberized NFS mount as it will end up deadlocked. Fix this by setting $HOME unconditionally to "/". Fixes this Fedora bug: https://bugzilla.redhat.com/show_bug.cgi?id=1052902 Reported-by: Enrico Scholz <rh-bugzilla@ensc.de> Reported-by: nmorey <nmorey@kalray.eu> Tested-by: Michael Young <m.a.young@durham.ac.uk> Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* mount.nfs: Removed supported flag from usage stringSteve Dickson2014-01-201-1/+1
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* rpc.idmapd: Remove no longer supported flags from man page.Steve Dickson2014-01-201-20/+2
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* rpc.statd: Allow usage messages to be displayed when statd is running.Steve Dickson2014-01-201-6/+6
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* nfs(5): Clarify DATA AND METADATA COHERENCE sectionChuck Lever2014-01-201-10/+27
| | | | | Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: Remove unused argumentsSimo Sorce2014-01-203-7/+7
| | | | | | | | | The name variable is always set to NULL now in all callers, so just sto passing it around needlessly. The uid_t variable is not used at all, so chuck it out too. Signed-off-by: Simo Sorce <simo@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* gssd: Improve first attempt at acquiring GSS credentialsSimo Sorce2014-01-201-22/+2
| | | | | | | | | | | | | | | Since now rpc.gssd is switching uid before attempting to acquire credentials, we do not need to pass in the special uid-as-a-string name to gssapi, because the process is already running under the user's credentials. By removing this code we can fix a class of false negatives where the user name does not match the actual ccache credentials and the ccache type used is not one of the only 2 supported explicitly by rpc.gssd by the fallback trolling done later. Signed-off-by: Simo Sorce <simo@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* exportfs: Exit with correct value when an error occursSteve Dickson2014-01-201-1/+1
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* exportfs: Don't buffer overflow on exports that are too big.Steve Dickson2014-01-201-0/+2
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* mountd: optimize libblkid usageKarel Zak2014-01-071-3/+35
| | | | | | | | | | | | | * use get_uuid_blkdev() only first time for the path (it means that uuid_by_path() is called with type==0) * don't use libblkid for btrfs, network or pseudo filesystems Note that the patch defines the fs type ID rather than include <linux/magic.h> as this file seems incomplete and libc specific). Signed-off-by: Karel Zak <kzak@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* exportfs.c: Escape path for '-s' optionTony Asleson2014-01-071-1/+12
| | | | | | | | When outputing the paths and the user has specified the option -s, escape the path. Signed-off-by: Tony Asleson <tasleson@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* exportfs.c: Remove trailing whitespaceTony Asleson2014-01-071-15/+15
| | | | | Signed-off-by: Tony Asleson <tasleson@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* exportfs.c: escape path for function test_exportTony Asleson2014-01-071-3/+7
| | | | | | | | | | Verbatim patch proposal from J. Bruce Fields except calling snprintf instead of sprintf. Tested and appears to work with path names that have a space. Signed-off-by: Tony Asleson <tasleson@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfsd: fix minorversion-choosing interfaceJ. Bruce Fields2014-01-074-8/+7
| | | | | | | | | | | | | | | | | | | | From: "J. Bruce Fields" <bfields@redhat.com> By unconditionally adding ?4.2 to the version string written to the kernel we make nfs-utils incompatible with pre-4.2-supporting kernels. Ditto for 4.1. This problem was introduced by 12a590f8d556c00a9502eeebaa763d906222d521 "rpc.nfsd: Allow v4.2 server support with the -V option", which also change nfsd to unconditionally pass ?4.2. Instead, just don't mention 4.1 or 4.2 unless the commandline has specifically requested that one or the other be turned on or off. Tested-by: Joakim Tjernlund <joakim.tjernlund@transmode.se> Reported-by: Joakim Tjernlund <joakim.tjernlund@transmode.se> Signed-off-by: J. Bruce Fields <bfields@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* mount.nfs: Don't silently ignore invalid protocol versions.Steve Dickson2014-01-071-0/+4
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* exportfs: modify can_test() to use LONG_MAX when appropriateHarshula Jayasuriya2013-11-201-4/+24
| | | | | | | | | | | | | | This patch is the nfs-utils patch corresponding to the kernel patch commit 2f74f972 "sunrpc: prepare NFS for 2038". The kernel sunrpc code needs to handle seconds since epoch greater than 2147483647. This means functions that parse time as an int need to handle it as time_t." When appropriate exportfs should use LONG_MAX in can_test() instead of INT_MAX. Signed-off-by: Harshula Jayasuriya <harshula@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfs(5): Treatment of *atime mount optionsChuck Lever2013-11-201-0/+59
| | | | | | | | | | | | | I was reminded recently that NFS treats file atime time stamps differently than other filesystems. It also ignores the generic *atime mount options because it cannot support the atime semantics of local filesystems. We should document that somewhere. nfs(5) seems like a logical place for it. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>