summaryrefslogtreecommitdiffstats
path: root/utils/mountd
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix reference error when writing fsloc data to cacheKevin Coffman2007-02-271-1/+1
| | | | | | | | Use the correct pointer when writing fslocations data to the cache. Also write the fsloc stuff before the uuid stuff so userland code will work with or without the uuid kernel patches. Signed-off-by: Neil Brown <neilb@suse.de>
* Add missing fsloc.[ch] files - oops.Neil Brown2007-02-262-0/+234
|
* Extend the exportfs interface to pass fslocations info into the kernel.Fred Isaman2007-02-222-1/+26
| | | | | | | | | | Extend exportfs interface to pass fslocations info into the kernel, using syntax modelled after AIX. Adds "refer=" and "replicas=" options to /etc/exports to enable use of the kernel fslocation code. Signed-off-by: Fred Isaman <iisaman@citi.umich.edu> Signed-off-by: Kevin Coffman <kwc@citi.umich.edu> Signed-off-by: Neil Brown <neilb@suse.de>
* Support group-id looks for kernels that ask for them.Neil Brown2007-02-123-4/+77
| | | | | | | With "-g" mountd will listen for uid -> gidlist requests from the kernel and provide the required mapping. This is specific to AUTH_USER (aka AUTH_SYS) and is designed to overcome the 16-gid limit in the AUTH_UNIX protocol.
* Use UUIDs to identify filesystems if kernel supports it.Neil Brown2007-02-122-11/+157
| | | | | | | | | | | This introduces a new dependancy on libblkid. If a filesystem being exported has a UUID that libblkid can extract, then that is passed to the kernel for use in identifying the filesystem in filehandles. This means that 'fsid=' is no longer needed to work around the problem of device numbers changing. fsid= is still needed for fielsystems that have no device, and can now be given 16byute uuid instead of just a 32bit one.
* Remove duplicated code.Kevin Coffman2007-02-091-17/+20
| | | | | | | | Signed-off-by: Fred Isaman <iisaman@citi.umich.edu> Signed-off-by: Kevin Coffman <kwc@citi.umich.edu> Remove duplicated code. Signed-off-by: Neil Brown <neilb@suse.de>
* Make mountd complain on unsupported uid mapping schemesSteinar H. Gunderson2007-02-051-0/+6
| | | | | | | | | | | | | | The NFS kernel server does not support uid mappings, activated with flags such as "map_daemon" in exports. There is already code that parses these flags, and gives an error at mount time if an unsupported flag (ie. any but the default) is given. However, at some point the kernel changed the export interface, and the new code forgot to include the relevant check. Thus, simply copy the check from the old to the new code, which makes sure mountd behaves the same in this aspect regardless of kernel version, and makes sure the admin does not inadvertently use map_daemon and expect it to work. Signed-off-by: Steinar H. Gunderson <sesse@debian.org>
* Ensure 'showmount -e' gets current information.Neil Brown2007-01-113-5/+10
| | | | | | If auth_reload has been called by someone else, get_exportlist can incorrectly return old data. So track modify times better and only use cached data if the modify time matches.
* Error check messages sent to the kernel.Neil Brown2007-01-112-13/+21
| | | | | | And make sure that if we fail to export a filesystem in mountd, then we don't try to get a filehandle on it, or a deadlock might occur.
* add missing long option for -r in mountdJeff Layton2006-12-201-0/+1
| | | | | | | | | I forgot a bit of code that needs to go into patch 3 that I posted yesterday. This adds a long option for the -r option. I'll post manpage update patches once I get them written up. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Neil Brown <neilb@suse.de>
* add -r flag to make mountd do reverse resolve of ipaddress on the flyJeff Layton2006-12-192-3/+18
| | | | | | | | | | | | | For those that want "traditional" showmount -a behavior from their mountd (hostname:/path instead of ipaddr:/path). This patch adds a '-r' flag that does a reverse-resolve for each IP address listed in the rmtab when a dump operation is called. Probably not a good idea for those concerned about performance, but since it's not the default option, I don't see it being an issue. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Neil Brown <neilb@suse.de>
* remove extraneous mountlist_add/del calls and change remaining ones to use ↵Jeff Layton2006-12-192-18/+8
| | | | | | | | | | | | | | | | | | | | | | IP addresses Neil suggested a patch to change the mountlist_add and mountlist_del calls to use IP addresses instead of the names returned by client_compose based on a command line option flag. I don't see any real reason to put client_compose strings into the rmtab, so this patch makes it so that it adds IP addresses instead of those strings to the rmtab by default. It also removes all mountlist_add calls that are being done from kernel cache routines. My main concern there is NFSv4. We don't seem to make any upcalls to mountd on NFSv4 unmounts, and I don't see a way to reliably remove NFSv4 entries. So, I figured I'd stick with having mountlist_add only called when a v2 or v3 mount call is made, and mountlist_del called only on the corresponding unmount call. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Neil Brown <neilb@suse.de>
* Don't rely on old info in my_clientJeff Layton2006-12-191-15/+9
| | | | | | | | | | | | | | | | | | | | | | | Here's a new set of patches to fix up "showmount -a", based on the approach suggested by Neil. This first patch is fairly simple. It just stops the current caching of my_client. For an explanation, consider this situation with the current code: 1) Client mounts an NFS export from server that is restricted to a particular hostname or netgroup. 2) DNS or netgroup changes so that the client would be denied. 3) Client attempts mount again. Mount succeeds, even though it shouldn't due to the fact that mountd relies on cached info in my_client. This situation can occur as long as no other client attempts a mount between 1 and 3 above. The patch below removes this caching, and causes a new invocation of client_compose for each pass through auth_authenticate: Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Neil Brown <neilb@suse.de>
* Fix -n option to mountdSteinar H. Gunderson2006-10-241-1/+1
| | | | | | | The getopt_long() option string in mountd was having a spurious colon after the 'n', leading to the short form of --no-tcp not being usable (expecting a parameter, contrary to the long form and the documentation). Fix.
* Remove some files that old, unused, unneeded.Neil Brown2006-07-051-81/+0
| | | | | | | | | | | | | | | deleted: support/export/keys.c deleted: support/include/rpcdispatch.h deleted: support/include/rpcsec.h deleted: support/include/version.h deleted: support/include/ypupdate.h deleted: support/nfs/clients.c deleted: support/nfs/keytab.c deleted: support/nfs/ypupdate_xdr.c deleted: support/rpc/include/Makefile.am deleted: tools/rpcdebug/neat_idea.c deleted: utils/mountd/mount_xdr.c deleted: utils/rquotad/pathnames.h
* Fix a number of the easier compile warnings: unused variables,Greg Banks2006-06-222-5/+5
| | | | unused labels, constness, signedness.
* multiple threads for mountdGreg Banks2006-06-162-9/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | How about the attached patch against nfs-utils tot? It adds a -t option to set the number of forked workers. Default is 1 thread, i.e. the old behaviour. I've verified that showmount -e, the Ogata mount client, and a real mount from Linux and IRIX boxes work with and without the new option. I've verified that you can manually kill any of the workers without the portmap registration going away, that killing all the workers causes the manager process to wake up and unregister, and killing the manager process causes the workers to be killed and portmap unregistered. I've verified that all the workers have file descriptors for the udp socket and the tcp rendezvous socket, that connections are balanced across all the workers if service times are sufficiently long, and that performance is improved by that parallelism, at least for small numbers of threads. For example, with 60 parallel MOUNT calls and a testing patch to make DNS lookups take 100 milliseconds time to perform all mounts (averaged over 5 runs) is: num elapsed threads time (sec) ------ ---------- 1 13.125 2 6.859 3 4.836 4 3.841 5 3.303 6 3.100 7 3.078 8 3.018 Greg. -- Greg Banks, R&D Software Engineer, SGI Australian Software Group. I don't speak for SGI.
* mountd state directoryNeil Brown2006-06-052-4/+19
| | | | | | Let the user select (via a new parameter) the path to the NFS state directory for mountd, to match the statd functionality. "Steinar H. Gunderson" <sesse@debian.org>
* Remove **/Makefile.in, aclocal.m4, configure, andNeil Brown2006-04-171-695/+0
| | | | | | support/include/config.h.in from source control These are auto autogenerated by aclocal -I aclocal ; autoheader ; automake ; autoconf
* 2006-04-10 "Kevin Coffman" <kwc@citi.umich.edu>neilbrown2006-04-101-0/+2
| | | | | Check for sufficient version of librpcsecgss and libgssapi in configure.in
* 2006-04-10 "Kevin Coffman" <kwc@citi.umich.edu>neilbrown2006-04-101-0/+2
| | | | | Update aclocal/tcp-wrappers.m4 to define HAVE_LIBWRAP and HAVE_TCP_WRAPPERS as appropriate.
* aclocal/autoconf/automake, properly this time.neilbrown2006-03-281-0/+4
|
* Remove all the Makefilesneilbrown2005-12-201-13/+0
|
* More automake stuffneilbrown2005-12-201-0/+687
|
* Autogen updateneilbrown2005-12-208-8/+86
|
* Understand type 2 and type 3 filesystem identifiers.neilbrown2005-10-141-2/+26
|
* Small nfs-utils patch from Olaf Kirchneilbrown2005-10-071-4/+2
|
* Assorted changes from Steve Dicksonneilbrown2005-10-061-14/+15
|
* 2005-08-26 Kevin Coffman <kwc@citi.umich.edu>neilbrown2005-08-262-11/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *utils/mountd/mountd.c: mountd currently always returns AUTH_NULL and AUTH_SYS as the allowable flavors in mount replies. We want it to also return gss flavors when appropriate. For now as a hack we just have it always return the KRB5 flavors as well. *utils/mountd/cache.c: When attempting to mount an NFSv4 pseudofilesystem (fsid=0) and the actual exported directory does not exist on the server, rpc.mountd doesn't check the directory exists (when fsidtype=1, i.e. using fsid, but does check for fsidtype=0, i.e. using dev/ino). The non-existent exported directory path with fsid=0 is written to the kernel via /proc/net/rpc/nfsd.export/channel, which leads to path_lookup() to return ENOENT (seems appropriate). Unfortunately, the new_cache approach ignores errors returned when writing via the channel file so that particular error is lost and the mount request is silently ignored. Assuming it doesn't make sense to revamp the new_cache/up-call method to not ignore returned errors, it seems appropriate to fix the case where rpc.mountd doesn't check for the existence of an exported directory with fsid= semantics. The following patch does this by moving the stat() up so it is done for both fsidtype's. I'm not certain whether the other tests need to be executed for fsidtype=1, but it doesn't appear to hurt [Not exactly true: the comparison of inode numbers caused problems so now it's kept for fsidtype=0 only]. Would it be also desirable to log a warning for every error, if any, returned by a write to any of the /proc/net/rpc/*/channel files which would otherwise be ignored (maybe under a debug flag)? * gssd/mountd/svcgssd: Changes gssd, svcgssd, and mountd to ignore a SIGHUP rather than dying. * many: Remove the gssapi code and rely on an external library instead.
* Added TOP, as needed, for easier compile in subdirectoriesgmorris2005-04-121-0/+1
|
* Sanitise stderr logging.neilbrown2005-03-141-2/+2
|
* auth_reload fixneilbrown2004-12-061-2/+3
|
* fix uninitialise variableneilbrown2004-09-061-0/+1
|
* Support --ha-callout for high-availability calloutsneilbrown2004-09-063-4/+43
|
* fix fd bugneilbrown2004-08-311-0/+1
|
* fix careless editting in mountd.manneilbrown2004-06-081-1/+0
|
* auth_reload calls in cache.neilbrown2004-02-241-0/+6
|
* 1.0.6neilbrown2003-09-121-2/+2
|
* Work around RLIMIT_NOFILE-to-big problemneilbrown2003-09-121-11/+14
|
* close a filehandle before opening.neilbrown2003-08-111-1/+4
|
* Change CROSSMNT to CROSSMOUNTneilbrown2003-08-061-1/+1
|
* /proc/fs/nfsd as an alternate to /proc/fs/nfsdneilbrown2003-08-041-2/+5
|
* Open channel files O_WRONLY, and improve mountlist support.neilbrown2003-08-044-12/+26
|
* Release 1.0.5neilbrown2003-07-172-13/+14
|
* Assorted fixesneilbrown2003-07-142-2/+1
|
* See Changelogneilbrown2003-07-022-1/+2
|
* segfault fixneilbrown2003-06-161-1/+2
|
* new "mountpoint" export option.neilbrown2003-05-302-1/+34
|
* Stuffneilbrown2003-05-232-5/+15
|
* bug fixneilbrown2003-05-221-5/+4
|