summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* systemd: remove @localstatedir@ marking.NeilBrown2014-03-241-1/+1
| | | | | | | | | This isn't used so currently is inconvenient. Once we decide how to handle this sort of thing we can apply the change uniformly. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* systemd units: create nfs-config.service as single location to process config.NeilBrown2014-03-249-14/+29
| | | | | | | | | Instead of processing the config information into command lines every time it might be needed, do it once in a separate service that other services can Want. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* systemd units: remove reference to nfs-server.target from nfs-server.service.NeilBrown2014-03-241-1/+0
| | | | | | | | This line was somehow missed in a recent patch. nfs-server.target doesn't exists, so nothing can be part of it. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* systemd: convert secure services to start without explicitNeilBrown2014-03-244-17/+17
| | | | | | | | | | | | | | | | | | | configuration. This patch removes nfs-secure.target. Instead, rpc.gssd and rpc.svcgssd start started if they appear to be needed. For rpc.gssd, this means if the file /etc/krb5.keytab exists. As the only security mechanism supported is krb5, that file must exist for rpc.gssd to be useful. Conversely, if it does exist, it seems very likely that krb5 is configured on the system an may be used for NFS. For rpc.svcgssd, it also means checking if gss-proxy might be performing the equivalent task instead. So we check if it is running, and if the kernel is able to talk to it. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* systemd units: merge nfs-server.service and nfs-server.targetNeilBrown2014-03-243-9/+11
| | | | | | | | | | | | | | | | | | | With systemd, a 'service' should run a single server while a 'target' can be used to group services. As nfs service is really a group of services a 'target' makes more sense. However that means that we need commands like systemctl start nfs-server.target rather than the more simple systemctl start nfs-server As the target/service separate doesn't bring any gain except a minor aesthetic, and does bring a practical inconvenience, this patch merges nfs-server.target into nfs-server.service. Reported-by: Steve Dickson <SteveD@redhat.com> Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* 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>