summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* exports: Clearly Defining Exports PrioritiesJames Pearson2011-06-071-13/+25
| | | | | | | | Added some verbiage to the exports(5) man page that clearly explains the precedence around how exports will work with regard to netgroups. Signed-off-by: Steve Dickson <steved@redhat.com>
* Document "-n" for svcgssdNeil Brown2011-06-071-2/+9
| | | | | | | The svcgssd man page doesn't mention the "-n" flag. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* mountd: Fix missing varialble assignment in auth_unix_gidPavel Shilovsky2011-06-071-2/+4
| | | | | | | | | When we get into auth_unix_gid at the second time, groups_len is not 0 and ngroups variable leave as 0. Then we use ngroups in getgrouplist that fails in this case. This patch fixes it. Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfsstat: reorder nfs4 stats for 2.6.38 and upBenny Halevy2011-05-231-4/+1
| | | | | | | | match order in 2.6.38, 2.6.39 (-rc3) and development tree while at it, get rid of obsolete ds_write and ds_commit Signed-off-by: Benny Halevy <bhalevy@panasas.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* supress socket error when address family is not supportedNeilBrown2011-05-231-2/+7
| | | | | | | | | | | | | | | | | | | | From: Suresh Jayaraman <sjayaraman@suse.de> It was observed that when ipv6 module was not loaded and cannot be auto-loaded, when starting NFS server, the following error occurs: "rpc.nfsd: unable to create inet6 TCP socket: errno 97 (Address family not supported by protocol)" This is obviously a true message, but does not represent an "error" when ipv6 is not enabled. Rather, it is an expected condition. As such, it can be confusing / misleading / distracting to display it in this scenario. This patch instead of throwing error when a socket call fails with EAFNOSUPPORT, makes it as a NOTICE. Signed-off-by: Suresh Jayaraman <sjayaraman@suse.de> Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* Remove risk of nfs_addmntent corrupting mtabNeilBrown2011-05-231-0/+9
| | | | | | | | | | | | nfs_addmntent is used to append directly to /etc/mtab. If the write partially fail, e.g. due to RLIMIT_FSIZE, truncate back to original size and return an error. See also https://bugzilla.redhat.com/show_bug.cgi?id=697975 (CVE-2011-1749) CVE-2011-1749 nfs-utils: mount.nfs fails to anticipate RLIMIT_FSIZE Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
* exportfs: getexportent interprets -test-client- as default optionsBen Myers2011-05-231-3/+8
| | | | | | | | | | | | | | | | | | | | With commit 1374c3861abdc66f3a1410e26cc85f86760b51dd Neil added a -test-client- export to test the exportability of filesystems when exportfs is run. When using the old cache controls (i.e. /proc/fs/nfsd is not mounted) exportfs will read /proc/fs/nfs/exports to process existing exports and find these test client entries. The dash at the beginning of -test-client- will be cause getexportent to look for default options in the rest of the string, which test-client- will not match: exportfs: /proc/fs/nfs/exports:1: unknown keyword "test-client-(rw" This patch resolves that problem (as Steve suggested) by not processing any default options if we are reading the list of existing exports from the kernel. Default options are converted to individual exports by exportfs so the kernel won't have any regardless. Signed-off-by: Ben Myers <bpm@sgi.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* Removed compilation warnings from mountd/cache.cJim Rees2011-05-181-5/+5
| | | | | | | Commit 5604b35a6 introduced a number of missing initializer warnings that were missed. This patch removes those warnings. Signed-off-by: Steve Dickson <steved@redhat.com>
* nfsstat: Output headings mislabledSteve Dickson2011-04-261-1/+1
| | | | | | | | The badclnt and badauth headers were reversed when the server side rpc stats (-s -o rpc) were displayed. Signed-off-by: Steve Dickson <steved@redhat.com>
* rpc.svcgssd: Segmentation fault on errorSteve Dickson2011-04-191-1/+2
| | | | | | | | Commit 544ed73d introduced a regression that caused rpc.svcgssd to seg fault on "Wrong principal in request" errors in gss_accept_sec_context() Signed-off-by: Steve Dickson <steved@redhat.com>
* nfs-utils: Increase the stdio file buffer size for procfs filesSean Finney2011-04-193-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, when writing to /proc/net/rpc/*/channel, if a cache line were larger than the default buffer size (likely 1024 bytes), mountd and svcgssd would split writes into a number of buffer-sized writes. Each of these writes would get an EINVAL error back from the kernel procfs handle (it expects line-oriented input and does not account for multiple/split writes), and no cache update would occur. When such behavior occurs, NFS clients depending on mountd to finish the cache operation would block/hang, or receive EPERM, depending on the context of the operation. This is likely to happen if a user is a member of a large (~100-200) number of groups. Instead, every fopen() on the procfs files in question is followed by a call to setvbuf(), using a per-file dedicated buffer of RPC_CHAN_BUF_SIZE length. Really, mountd should not be using stdio-style buffered file operations on files in /proc to begin with. A better solution would be to use internally managed buffers and calls to write() instead of these stdio calls, but that would be a more extensive change; so this is proposed as a quick and not-so-dirty fix in the meantime. Signed-off-by: Sean Finney <sean.finney@sonyericsson.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* mountd: Use a dynamic buffer for storing lists of gid'sSean Finney2011-04-191-9/+20
| | | | | | | | | | | | | Previously, in auth_unix_gid, group lists were stored in an array of hard-coded length 100, and in the situation that the group lists for a particular call were too large, the array was swapped with a dynamically allocated/freed buffer. For environments where users are commonly in a large number of groups, this isn't an ideal approach. Instead, use malloc/realloc to grow the list on an as-needed basis. Signed-off-by: Sean Finney <sean.finney@sonyericsson.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* mount: add --enable-libmount-mountKarel Zak2011-04-063-2/+440
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch allows to link mount.nfs with libmount from util-linux >= v2.19. The new libmount based code is enabled by CONFIG_LIBMOUNT and is stored in mount_libmount.c. The old code is not affected by this change. The libmount does not have officially stable API yet, so the --enable-libmount-mount is marked as experimental in the configure help output. The ./configure option is the same as we use in util-linux to enable support for libmount in mount(8). The addr= (and some other options necessary for remount/umount) are stored to /etc/mtab or to /dev/.mount/utab. The utab file is *private* libmount file. It's possible that some mount options (for example user=) will be moved to kernel, so the utab will not be necessary. About libmount: * supports systems without and with regular /etc/mtab * does not store VFS and FS mount options in userspace * manages user= option and evaluate permissions * parses VFS mount options and generate MS_* flags * parses /etc/{fstab,mtab}, /proc/mounts or /proc/self/mountinfo * long-term goal is to use the same code in all mount.<type> helpers Note, use LIBMOUNT_DEBUG=0xffff mount.nfs foo:/path /path to debug the library. On systems with util-linux v2.19 the findmnt(8) command uses libmount to list all/selected mount points: $ findmnt /path $ findmnt --mtab /path the --mtab appends userspace mount options (e.g. user=) to the output. CC: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Karel Zak <kzak@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* mount: move generic functions to utils.c and network.cKarel Zak2011-04-067-200/+286
| | | | | | | | | Move generic code that could be shared between standard mount.nfs and libmount version to utils.c and network.c. CC: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Karel Zak <kzak@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfs-utils: Add support to svcgssd to limit the negotiated enctypesKevin Coffman2011-04-066-10/+265
| | | | | | | | | | | | | | | | | | | | Recent versions of Kerberos libraries negotiate and use an "acceptor subkey". This negotiation does not consider that a service may have limited the encryption keys in its keytab. A patch (http://src.mit.edu/fisheye/changelog/krb5/?cs=24603) has been added to the MIT Kerberos code to allow an application to indicate that it wants to limit the encryption types negotiated. (This functionality has been available on the client/initiator side for a while. The new patch adds this support to the server/acceptor side.) This patch adds support to read a recently added nfsd proc file to determine the encryption types supported by the kernel and calls the function to limit encryption types negotiated for the acceptor subkey. Signed-off-by: Kevin Coffman <kwc@citi.umich.edu> Signed-off-by: Steve Dickson <steved@redhat.com>
* exports: add a configurable time-to-live for the kernel cache entriesChuck Lever2011-04-064-7/+11
| | | | | | | | | | | | | | | | | | | | | | From: Trond Myklebust <Trond.Myklebust@netapp.com> The fedfs ldap server will specify a ttl for its entries. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> This is a refactoring change only. There should be no change in behavior. Original patch had updates to utils/mountd/junctions.c, which no longer exists. These are not included here. Create a macro for the default cache TTL, which is used in several places besides the export cache. Make e_ttl unsigned. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* statd: Remove vestigial "-w" option from man page synopsisChuck Lever2011-04-061-1/+1
| | | | | | | | | | | The synopsis of rpc.statd in its man page lists "-w" as a valid option. There is currently no support in the source code for a "-w" option. BugLink: https://bugzilla.linux-nfs.org/show_bug.cgi?id=199 Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* mount.nfs: Don't leak socket in nfs_ca_sockname()Chuck Lever2011-04-061-15/+13
| | | | | | | | | | Ensure the test socket is always closed before nfs_ca_sockname() returns. Otherwise it's orphaned. BugLink: https://bugzilla.linux-nfs.org/show_bug.cgi?id=197 Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* Removed a warning from v4root.cSteve Dickson2011-04-061-3/+6
| | | | | | v4root.c:176:9: warning: variable 'ret' set but not used Signed-off-by: Steve Dickson <steved@redhat.com>
* Removed a warning from exportfs.cSteve Dickson2011-04-061-1/+1
| | | | | | exportfs.c:280:29: warning: 'exp' may be used uninitialized in this function Signed-off-by: Steve Dickson <steved@redhat.com>
* Removed a warning from conffile.cSteve Dickson2011-04-061-0/+1
| | | | | | conffile.c:258:19: warning: 'j' may be used uninitialized in this function Signed-off-by: Steve Dickson <steved@redhat.com>
* Update man pages for /etc/exports.dMasatake YAMATO2011-03-072-5/+50
| | | | | | | Man page updates for /etc/exports.d. Signed-off-by: Masatake YAMATO <yamato@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* Read /etc/exports.d/*.export as extra export filesMasatake YAMATO2011-03-072-1/+64
| | | | | | | | | | | | | | | | This patch adding a capability to read /etc/exports.d/*.exports as extra export files to exportfs. If one wants to add or remove an export entry in a script, currently one may have to use sed or something tool for adding or removing the line for the entry in /etc/exports file. With the patch, adding and removing an entry from a script is much easier. cat<<EOF... or mv can be used for adding. rm can be used for removing. Signed-off-by: Masatake YAMATO <yamato@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* Cleaned up a warning in rpcdispatch.cSteve Dickson2011-03-052-2/+2
| | | | | | | rpcdispatch.c:40:20: warning: comparison between signed and unsigned integer expressions Signed-off-by: Steve Dickson <steved@redhat.com>
* mount: Remove MOUNT_CONFIG warningsSteve Dickson2011-03-052-4/+4
| | | | | | | The following changes are needed to remove compile warnings when MOUNT_CONFIG is not defined Signed-off-by: Steve Dickson <steved@redhat.com>
* mount: Recognize zero as a valid value for the port= optionChuck Lever2011-03-031-2/+2
| | | | | | | | | | While zero is not a valid IP port number, zero does represent a valid value for "port=". It means "query rpcbind to discover the actual non-zero port number to use". So the parsing functions that handle "port=" should not flag zero as an invalid value. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* Gssd: modify wrong err message at handle_gssd_upcallMi Jinlong2011-02-091-1/+1
| | | | | | | | Modify wrong err message at handle_gssd_upcall when sscanf encryption types fail. Signed-off-by: Mi Jinlong <mijinlong@cn.fujitsu.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* Support AD style kerberos automatically in rpc.gssJason Gunthorpe2011-02-092-18/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | An Active Directory KDC will only grant a TGT for UPNs, getting a TGT for SPNs is not possible: $ kinit -k host/ib5@ADS.ORCORP.CA kinit: Client not found in Kerberos database while getting initial credentials The correct thing to do for machine credentials is to get a TGT for the computer UPN <HOSTNAME>$@REALM: $ kinit -k IB5\$ $ klist 12/22/10 11:43:47 12/22/10 21:43:47 krbtgt/ADS.ORCORP.CA@ADS.ORCORP.CA Samba automatically creates /etc/krb5.keytab entry for the computer UPN, this patch makes gssd_refresh_krb5_machine_credential prefer it above the SPNs if it is present. The net result is that nfs client works automatically out of the box if samba has been used to setup kerberos via 'net ads join' 'net ads keytab create' Tested using Windows Server 2003 R2 as the AD server. Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* Fixed segfault in rpc.mountdSteve Dickson2011-01-261-0/+1
| | | | | | | | | A unallocated piece of memory, instead of a NULL point, was being used to initialize a ->next point in the mount link list which caused a segfault after a few remote accesses via the showmount command. Signed-off-by: Steve Dickson <steved@redhat.com>
* Improve debugging in svcgssdSteve Dickson2011-01-143-3/+81
| | | | | | | | | | | | | Added in gss_display_error() which translates the GSS error into the actual GSS macro name. Currently only the translation of these errors are logged. Since those translations are buried deep in the kerberos library code, having the actual GSS macro name makes it easier to follow the code. Moved the nfs4_init_name_mapping() call into main() so if debug is enabled the DNS name and realms will be logged during start up. Signed-off-by: Steve Dickson <steved@redhat.com>
* libnsm.a: modify return value to false from 0 at nsm_drop_privileges()Mi Jinlong2011-01-041-1/+1
| | | | | | | | At nsm_drop_privileges(), for improving readability, unify the return value. Signed-off-by: Mi Jinlong <mijinlong@cn.fujitsu.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* libnsm.a: sm-notify sometimes ignores monitored hostsChuck Lever2010-12-131-6/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Monitored host information is stored in files under /var/lib/nfs. When visiting entries in the monitored hosts directory, libnsm.a examines the value of dirent.d_type to determine if an entry is a regular file. According to readdir(3), the d_type field is not supported by all file system types. My root file system happens to be one where d_type isn't supported. Typical installations that use an ext-derived root file system are not exposed to this issue, but those who use xfs, for instance, are. On such file systems, not only are remote peers not notified of reboots, but the NSM state number is never incremented. A statd warm restart would not re-monitor any hosts that were monitored before the restart. When writing support/nsm/file.c, I copied the use of d_type from the original statd code, so this has likely been an issue for some time. Replace the use of d_type in support/nsm/file.c with a call to lstat(2). It's extra code, but is guaranteed to work on all file system types. Note there is a usage of d_type in gssd. I'll let gssd and rpcpipefs experts decide whether that's worth changing. Fix for: https://bugzilla.linux-nfs.org/show_bug.cgi?id=193 Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* libnsm.a: Replace __attribute_noinline__Chuck Lever2010-12-131-5/+5
| | | | | | | | | | | | | | | | | | Replace the __attribute_noinline__ form with __attribute__((__noinline__)). Even though the compiler didn't complain about __attribute_malloc__, also replace those in order to maintain consistent style throughout the source file. Fix for: https://bugzilla.linux-nfs.org/show_bug.cgi?id=194 Reported-by: "Gabor Z. Papp" <gzp@papp.hu> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* sm-notify: Make use of AI_NUMERICSERV conditionalChuck Lever2010-12-131-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Gabor Papp reports nfs-utils-1.2.3 doesn't build on his system that uses glibc-2.2.5: make[3]: Entering directory `/home/gzp/src/nfs-utils-1.2.3/utils/statd' gcc -DHAVE_CONFIG_H -I. -I../../support/include -D_GNU_SOURCE -Wall -Wextra -Wstrict-prototypes -pipe -g -O2 -MT sm-notify.o -MD -MP -MF .deps/sm-notify.Tpo -c -o sm-notify.o sm-notify.c sm-notify.c: In function 'smn_bind_address': sm-notify.c:247: error: 'AI_NUMERICSERV' undeclared (first use in this function) sm-notify.c:247: error: (Each undeclared identifier is reported only once sm-notify.c:247: error: for each function it appears in.) make[3]: *** [sm-notify.o] Error 1 According to the getaddrinfo(3) man page, AI_NUMERICSERV is available only since glibc 2.3.4. getaddrinfo(3) seems to convert strings containing a number to the right port value without the use of AI_NUMERICSERV, so I think we can survive on older glibc's without it. It will allow admins to specify service names as well as port numbers on those versions. There are uses of AI_NUMERICSERV in gssd and in nfs_svc_create(). The one in nfs_svc_create() is behind HAVE_LIBTIRPC, and the other is a issue only for those who want to deploy Kerberos -- likely in both cases, a more modern glibc will be present. I'm going to leave those two. Fix for: https://bugzilla.linux-nfs.org/show_bug.cgi?id=195 Reported-by: "Gabor Z. Papp" <gzp@papp.hu> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* rpc.mountd: Checking RPC Procedure ID before process itSid Moore2010-12-031-0/+5
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* libnfs.a: fix a bug when parse section's argMi Jinlong2010-11-291-2/+2
| | | | | | | When parsing section's arg at configure file, the pointer should stop when fetch ']', and give the warning message. Signed-off-by: Steve Dickson <steved@redhat.com>
* nfs-utils: nfsstat: has_stats() does not function correctly for NFSv4 client ↵Harshula Jayasuriya2010-11-222-71/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | stats The NFSv4 client procs/ops in "struct rpc_procinfo nfs4_procedures" is used to generate the NFS client stats interface: ------------------------------------------------------------ net 0 0 0 0 rpc 15 0 0 proc2 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 proc3 22 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 proc4 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ------------------------------------------------------------ Note, for proc4, the number 42. That is the number of stats that follow on the same line. Currently nfsstat's has_stats() relies on this number to be equal to CLTPROC4_SZ. Unfortunately this is not the case. I have changed has_stats() not to rely on these two values being equal. This should also allow nfsstat to work with different kernel versions that expose a different number of NFS client ops. * Fix has_stats() * Stop print_clnt_list() printing server stats! * Describe the option -3 and -4 completely in the nfsstat manpage. Signed-off-by: Harshula Jayasuriya <harshula@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* Enable nfsidmap to compileSteve Dickson2010-11-224-0/+11
| | | | | | Only enable the compilation of nfsidmap when libnfsidmap support it. Signed-off-by: Steve Dickson <steved@redhat.com>
* Add the new nfsidmap programBryan Schumaker2010-11-225-0/+202
| | | | | | | | | | This patch adds the nfsidmap program to nfs-utils. This program is called by the nfs idmapper through request-keys to map between uid / user name and gid / group name. Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* Removed a couple warnings from utils/mount/stropts.cSteve Dickson2010-11-221-2/+2
| | | | | | | stropts.c:740:6: warning: 'ret' may be used uninitialized in this function stropts.c:653:6: warning: 'ret' may be used uninitialized in this function Signed-off-by: Steve Dickson <steved@redhat.com>
* nfs(5): Document remount behaviorChuck Lever2010-11-011-16/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It appears that, for a long while, NFS "remount" mounts have completely wiped the existing mount options in /etc/mtab for a given mount point. This is a problem for umount.nfs, since it reads its options out of /etc/mtab to find out how to do the unmount. The mount(8) command provides the NFS mount subcommand with the mount options to perform the remount. There are four cases to consider: 1. Both the device and mount directory are specified on the command line, and the target mount point is in /etc/fstab 2. Only one of the device and mount directory is specified on the command line, and the target mount point is in /etc/fstab 3. Both the device and mount directory are specified on the command line, and the target mount point is not in /etc/fstab 4. Only one of the device and mount directory is specified on the command line, and the target mount point is not in /etc/fstab Currently only case 4 works correctly. In that case, mount(8) provides the correct set of mount options to the mount.nfs subcommand and it can update /etc/mtab correctly. Cases 1 and 3 replace all mount options in /etc/mtab with the options provided on the command line during a remount. Case 2 replaces the mount options in /etc/mtab with a mix of options from /etc/fstab and /etc/mtab. Cases 1 and 3 are historical behavior. Basically this is a formal interface to allow administrators to replace the mount options in /etc/mtab completely, instead of merging in new ones. The present patch documents that behavior in nfs(5), and provides best practice for remounting NFS mount points. There are near-term plans to address case 2 by fixing mount(8) (provided by utils-linux-ng in most distributions). This is a partial fix for: https://bugzilla.linux-nfs.org/show_bug.cgi?id=188 Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfs(5): Grammar and style fixesChuck Lever2010-11-011-8/+7
| | | | | | | | Clean up grammar and style issues introduced by recent updates. Also, I'm not certain inappropriate options are always ignored. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* mount.nfs: mnt_freq and mnt_pass are always zeroChuck Lever2010-11-011-15/+19
| | | | | | | | | | | Clean up. No need to pass constant zeros to add_mtab() from its only call site. Ensure that initialization of a struct mntent is consistent in both places that it is done. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* mount.nfs: Fix memory leak in nfs_sys_mount()Chuck Lever2010-11-011-3/+5
| | | | | | | | This appears to have been left behind by last year's adjustments to how the extra_opts string is constructed. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* mount: Fix compiler warning in nfs_parse_retry_option()Chuck Lever2010-11-011-2/+5
| | | | | | | | | | | | stropts.c: In function nfs_parse_retry_option: stropts.c:131: warning: conversion to unsigned int from long int may alter its value Make it more clear what the second argument is for, and flag the switch fallthrough case. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfs-utils: Remove all uses of AI_ADDRCONFIGChuck Lever2010-11-016-23/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was reported that, if only "lo" is up, mount.nfs 127.0.0.1:/export /mount fails with "Name or service not known". "man 3 getaddrinfo" says this: If hints.ai_flags includes the AI_ADDRCONFIG flag, then IPv4 addresses are returned in the list pointed to by res only if the local system has at least one IPv4 address configured, and IPv6 addresses are only returned if the local system has at least one IPv6 address configured. The man page oversimplifies here. A review of glibc shows that getaddrinfo(3) explicitly ignores loopback addresses when deciding whether an IPv4 or IPv6 address is configured. This behavior around loopback is a problem not just for mount.nfs, but also for RPC daemons that have to start up before a system's networking is fully configured and started. Given the history of other problems with AI_ADDRCONFIG and the unpredictable behavior it introduces, let's just remove it everywhere in nfs-utils. This fix addresses: https://bugzilla.linux-nfs.org/show_bug.cgi?id=191 Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* nfs-utils: fix default value for --enable-tirpcJeff Layton2010-11-011-1/+1
| | | | | | | | | | | | | We need $enable_tirpc to be a tristate. 'yes' means that someone explicitly requested building with tirpc. 'no' means that it was explicitly disabled. Anything else means that no one specified a value. Fix it by setting the value to a blank string so that the default is properly undefined. Reported-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
* Updated rpc.mountd man pageSteve Dickson2010-10-201-3/+3
| | | | | | | | Updated the rpc.mountd man page to no longer reference v3 as the "newer" version and also mentioned v4 as a supported version. Signed-off-by: Steve Dickson <steved@redhat.com>
* Cleared up the sync option in exportfs man pageSteve Dickson2010-10-201-1/+3
| | | | Signed-off-by: Steve Dickson <steved@redhat.com>
* Removed duplicate entries in export man pageSteve Dickson2010-10-151-14/+0
| | | | | | | The man page's paragraphs about "refer=" and "replicas=" each appear twice. Signed-off-by: Steve Dickson <steved@redhat.com>