summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* nfsstat: include -Z/--sleep in the manpagedavid m. richter2007-08-091-1/+11
| | | | | | | Add a little blurb about -Z/--sleep to the nfsstat manpage. Signed-off-by: David M. Richter <richterd@citi.umich.edu> Signed-off-by: Neil Brown <neilb@suse.de>
* nfsstat: rename --diff-stat to --sleepdavid m. richter2007-08-091-7/+7
| | | | | | | | As per Bruce Fields' suggestion, rename the clunky -D/--diff-stat to the more-intuitive -Z/--sleep. Signed-off-by: David M. Richter <richterd@citi.umich.edu> Signed-off-by: Neil Brown <neilb@suse.de>
* nfsstat: fix a bug in diff_stats()david m. richter2007-08-091-4/+25
| | | | | | | | | Fix a bug in diff_stats() that causes false-positives in has_stats(), which can result in a bunch of zeros being displayed instead of suppressed as intended. Signed-off-by: David M. Richter <richterd@citi.umich.edu> Signed-off-by: Neil Brown <neilb@suse.de>
* nfsstat: add a comment to has_stats()david m. richter2007-08-091-1/+7
| | | | | | | Clarify what has_stats() is actually doing. Signed-off-by: David M. Richter <richterd@citi.umich.edu> Signed-off-by: Neil Brown <neilb@suse.de>
* nfsstat: display 3 additional NFSv4 client op countersdavid m. richter2007-08-091-4/+5
| | | | | | | | | Display three extra NFSv4 client counters that are already exposed in /proc/net/rpc/nfs: GETACL, SETACL, and FS_LOCATIONS. Won't cause trouble on older kernels that might lack those counters. Signed-off-by: David M. Richter <richterd@citi.umich.edu> Signed-off-by: Neil Brown <neilb@suse.de>
* fix regression with rmtab handling in newer nfs-utils codeJeff Layton2007-08-071-3/+1
| | | | | | | | | commit dbfcba5b03481d49f3e78946fe8fd066e2025545 incorrectly added some mountlist_add calls. Removed them again. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: Fix background mountsChuck Lever2007-08-041-1/+23
| | | | | | | | The new mount.nfs helper does not support background mounts. Add support for background mounts. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: Refactor mount logic to allow support for "bg" optionChuck Lever2007-08-041-16/+27
| | | | | | | Refactor main() a bit to make adding support for "bg" option easier. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: restore bg argument to nfsmount() and nfs4mount()Chuck Lever2007-08-045-7/+9
| | | | | | | | To enable background mounting again, restore the "bg" argument to nfsmount() and nfs4mount() that was recently removed. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: get_socket() may clobber errno, but preserves .re_errnoChuck Lever2007-08-041-12/+4
| | | | | | | | | | get_socket() guarantees that rpc_createerr.cf_error.re_errno is set correctly after an error, but it can wipe errno if it has to print an error message. Make sure that clnt_ping() checks the correct error code when get_socket() returns. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: Always close the socket at the end of getport()Chuck Lever2007-08-041-5/+4
| | | | | | | | These days, none of get_socket()'s callers pass an RPC_ANYSOCK on to the RPC code. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: Shorter timeout for TCP connectsChuck Lever2007-08-041-5/+59
| | | | | | | | | | | | | | | The standard TCP connect timeout on Linux is 75 seconds, which can be too long in some cases. The timeout itself can be altered on a system-wide basis, but we'd like mount to have it's own connect timeout that's tunable, and defaults to a shorter value. The get_socket() function is a utility function that does TCP connects for getport, clnt_ping, and other functions. Add logic there to use a non-blocking connect() and select() in order to time out a connect operation that's taking too long. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: Remove a redundant port assignmentChuck Lever2007-08-041-1/+0
| | | | | | | | getport() always fills in its port number before calling GETPORT. No need for the caller to do this. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: umount needs to pick up transport option from /etc/mtabChuck Lever2007-08-041-0/+12
| | | | | | | | Now that umount's default transport protocol has become more flexible, it will need to detect both proto=udp and proto=tcp in /etc/mtab. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: fix printf's normally hidden behind NFS_MOUNT_DEBUGChuck Lever2007-08-042-20/+18
| | | | | | | | After I enabled NFS_MOUNT_DEBUG the compiler started spitting out warnings. Fix up commas, output formatting, and double-wide character support. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: Support double-wide characters in printed stringsChuck Lever2007-08-045-44/+54
| | | | | | | | | | | Previous NLS changes missed a spot or two. This patch tries to get most of them, but probably misses a few more. In errors.c:mount_errors() I've removed a period at the end of the error messages; this is consistent with other error messages I've examined. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* nfsstat: add -D/--diff-statdavid m. richter2007-08-011-2/+91
| | | | | | | | | | | Add -D/--diff-stat: instead of immediately displaying total collected NFS stats and exiting, nfsstat will take a snapshot of current statistics and pause until the user hits ^C, at which point it takes a second snapshot and then prints out the difference of the two; i.e., only the statistics collected during the pause. Signed-off-by: David M. Richter <richterd@citi.umich.edu> Signed-off-by: Neil Brown <neilb@suse.de>
* nfsstat: just declare -D/--diff-stat's variablesdavid m. richter2007-08-011-49/+51
| | | | | | | | Add the temp vars -D/--diff-stat will use. (just using a separate patch to make the next one easier to read) Signed-off-by: David M. Richter <richterd@citi.umich.edu> Signed-off-by: Neil Brown <neilb@suse.de>
* nfsstat: use macros to declare struct statinfo arraysdavid m. richter2007-08-011-22/+30
| | | | | | | | | Use macros to build the arrays of struct statinfos. This will make adding the extra set of temporary variables needed by -D/--diff-stat much easier. Signed-off-by: David M. Richter <richterd@citi.umich.edu> Signed-off-by: Neil Brown <neilb@suse.de>
* nfsstat: standardize naming of opcount arraysdavid m. richter2007-08-011-30/+30
| | | | | | | | | | Standardized Naming 2: Make the client and server "call counts" arrays' variable names reflect/include the actual text labels from the /proc files -- e.g., "cltv2info" becomes "cltproc2info". A subsequent patch will rely on this naming scheme. Signed-off-by: David M. Richter <richterd@citi.umich.edu> Signed-off-by: Neil Brown <neilb@suse.de>
* nfsstat: standardize naming of server variablesdavid m. richter2007-08-011-40/+40
| | | | | | | | | | Standardized Naming 1: Instead of having a variety of different server-related variable name prefixes ("srv", "svr", "svc", "SVC"), set them all to "srv" or "SRV". A subsequent patch will rely on this naming scheme. Signed-off-by: David M. Richter <richterd@citi.umich.edu> Signed-off-by: Neil Brown <neilb@suse.de>
* nfsstat: add get_stats()david m. richter2007-08-011-21/+17
| | | | | | | | Share some of the existing statistics-gathering code by folding it into a function, get_stats(). Signed-off-by: David M. Richter <richterd@citi.umich.edu> Signed-off-by: Neil Brown <neilb@suse.de>
* nfsstat: add has_stats()david m. richter2007-08-011-6/+14
| | | | | | | | To help readability, add has_stats() and use it when deciding whether to print. Signed-off-by: David M. Richter <richterd@citi.umich.edu> Signed-off-by: Neil Brown <neilb@suse.de>
* Fix more 'prototype' warnings and other warnings.Neil Brown2007-07-305-21/+21
| | | | Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: clean up a couple of printfs in fstab.cChuck Lever2007-07-301-9/+12
| | | | | | | Clean up for consistent use. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* libnfs.a: eliminate another dependency on a global variableChuck Lever2007-07-305-4/+558
| | | | | | | | | | | | | | The file support/nfs/fstab.c, which is linked into libnfs.a, depends on the global variable "verbose." This variable is defined and used only in the mount command, and the functions in fstab.c are used only by the mount command. Move fstab.c and support/include/fstab.h to utils/mount. This file placement is also consistent with at least one other mount helper, mount.ocfs2. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* libnfs.a: eliminate conn.c and conn.hChuck Lever2007-07-309-60/+21
| | | | | | | conn.[ch] are now no longer needed. Clean them out and delete them. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: use nfs_error instead of fprintf in get_socket()Chuck Lever2007-07-301-47/+53
| | | | | | | | | Use nfs_error() where appropriate. I used "goto" here to reduce string splitting and indenting past the point of readability. Gee, it would be nice if C had proper exception handling... Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* libnfs.a: move get_socket() function to utils/mount/network.cChuck Lever2007-07-303-80/+73
| | | | | | | | | | Now we can address the real problem: that get_socket() depends on the global variable "verbose" which is only available in the mount command. Move get_socket() into utils/mount/network.c, and make it static. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* libnfs.a: move clnt_ping() to utils/mountChuck Lever2007-07-305-77/+83
| | | | | | | | | | Continue clean up of mount functionality in libnfs.a by moving clnt_ping() to utils/mount/network.c. Note that socklen_t is an unsigned int... the i386 gcc compiler threw a signedness warning about the 3rd argument of getsockname(). Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* libnfs.a: move more mount-only functions out of libnfs.aChuck Lever2007-07-304-20/+36
| | | | | | | Continue clean-up with nfsvers_to_mnt() and mntvers_to_nfs(). Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* libnfs.a: move mnt_{open, close}clnt calls to utils/mount/network.cChuck Lever2007-07-304-53/+53
| | | | | | | | | | | | | | | | | It turns out that get_socket() accesses a global variable, "verbose," that is only available in the mount command; yet it's in libnfs.a. This creates an undocumented API dependency that will bite someone someday. This mount-specific functionality doesn't really belong in libnfs.a anyway. The simplest way to resolve this is to move all of the functions in support/nfs/conn.c into utils/mount. network.c seems like the logical place to put these. An added benefit is we eventually get to make get_socket() static. Let's start with the mnt_{open,close}clnt functions. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: clean up getport() functionChuck Lever2007-07-301-19/+28
| | | | | | | | Mostly comment clarification. Also replace some naked undocumented integers with macros, and make getport() static. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: fix hang when getport() uses TCP against unavailable serversChuck Lever2007-07-301-2/+17
| | | | | | | | | If get_socket() can't get us an open TCP socket, we know the server is down, so make getport() exit early instead of hanging. This logic is copied from clnt_ping(). Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* umount.nfs: eliminate a nearly empty header file.Chuck Lever2007-07-306-14/+2
| | | | | | | | Clean-up: move nfsumount() global declaration to nfs_mount.h, and remove nfsumount.h. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* umount.nfs: Pass return codes from do_nfs_umount backChuck Lever2007-07-301-3/+4
| | | | | | | Do we really care about these return codes? Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* umount.nfs: Make do_nfs_mount use conventional EX_ style return codesChuck Lever2007-07-301-12/+26
| | | | | | | | | do_nfs_mount() should return EX_ style return codes and not 1 or 0 in order to distinguish between usage errors and other problems (such as EX_FILEIO or RPC errors). Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* umount.nfs: make _nfsumount() staticChuck Lever2007-07-301-3/+3
| | | | | | | | | | | _nfsumount() is never called outside of nfsumount.c. Also give it a more conventional name. Note that it's return code is ignored. That will be addressed in a subsequent patch. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* umount.nfs: make del_mtab() a static functionChuck Lever2007-07-301-1/+1
| | | | | | | Clean-up: del_mtab() isn't used outside of nfsumount.c. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* Make sure nfs_call_umount's callers are handling its return code correctlyChuck Lever2007-07-301-7/+20
| | | | | | | | umount.nfs is treating nfs_call_umount's return code like a standard mount return code (EX_SOMETHING) when its really an RPC return code. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* umount.nfs: move nfs_call_umount to network.cChuck Lever2007-07-304-44/+36
| | | | | | | | | nfs_call_umount() is shared by nfsmount.c and nfsumount.c, and manages a network function (building the RPC umount call to the server's MNT daemon). So move it to network.c with other network-related functions. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* umount.nfs: make umount_usage() staticChuck Lever2007-07-303-8/+7
| | | | | | | No good reason to export umount_usage. Make it static. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* umount.nfs: make umount.nfs use UDP by defaultChuck Lever2007-07-301-1/+0
| | | | | | | | mount.nfs currently uses UDP by default when calling a MNT server. Make umount.nfs do the same. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* umount.nfs: some umount.nfs error return codes are confusingChuck Lever2007-07-301-5/+5
| | | | | | | | | | umount.nfs should return the standard EX_ mount return codes. At some point in the past, it was returning 0 for failure and 1 for success, and some of these have been changed and some haven't. See if we can rectify this. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: fix more nits with error messagesChuck Lever2007-07-303-11/+16
| | | | | | | Catch-all. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* Add -Wstrict-prototypes to compiler args, and fix warnings caused.Neil Brown2007-07-2917-51/+36
|
* Use __fpurge to ensure single-line writes to cache filesJ. Bruce Fields2007-07-271-0/+12
| | | | | | | | | | | | | | | | | | | | On a recent Debian/Sid machine, I saw libc retrying stdio writes that returned write errors. The result is that if an export downcall returns an error (which it can in normal operation, since it currently (incorrectly) returns -ENOENT on any negative downcall), then subsequent downcalls will write multiple lines (including the original line that received the error). The result is that the server fails to respond to any rpc call that refers to an unexported mount point (such as a readdir of a directory containing such a mountpoint), so client commands hang. I don't know whether this libc behavior is correct or expected, but it seems safest to add the __fpurge() (suggested by Neil) to ensure data is thrown away. Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@suse.de>
* fix broken compile due to missing pseudoflavors.hJ. Bruce Fields2007-07-211-0/+17
| | | | | | | | Commit e9b0bed761bc77ba046f53be2ec324c4b61357ff should also have added this file. Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: White space clean upChuck Lever2007-07-205-32/+42
| | | | | Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>
* mount.nfs: Use nfs_error in nfsmount.c, nfsumount.c, and nfs4mount.cChuck Lever2007-07-203-64/+56
| | | | | | | Clean up. - fprintf becomes nfs_error Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Neil Brown <neilb@suse.de>