summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2015-03-26 11:27:27 -0400
committerSteve Dickson <steved@redhat.com>2015-03-26 11:29:03 -0400
commit5cbb78bf4bd871168ada54b0fd4b42b26c959f3e (patch)
treeafac78a2c72c43b932e9eb92bc5adb8f87af1296
parent81aed045d3057a44b3aabf946bad2894be64dda7 (diff)
downloadnfs-utils-5cbb78bf4bd871168ada54b0fd4b42b26c959f3e.tar.gz
nfs-utils-5cbb78bf4bd871168ada54b0fd4b42b26c959f3e.tar.xz
nfs-utils-5cbb78bf4bd871168ada54b0fd4b42b26c959f3e.zip
mount: improve error message when statd cannot be started.
If you try to mount and NFSv3 filesystem, and statd is not running and cannot be started (maybe rpcbind isn't running either), the error message is: mount.nfs: rpc.statd is not running but is required for remote locking. mount.nfs: Either use '-o nolock' to keep locks local, or start statd. mount.nfs: an incorrect mount option was specified That last line is incorrect and misleading: no incorret mount option was specified. This line comes from mount_error() in error.c. In this case that function doesn't really need to provide any more information. So introduce a concention that EALREADY means an error message has already been printed, and use it to suppress that message. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Steve Dickson <steved@redhat.com>
-rw-r--r--utils/mount/error.c3
-rw-r--r--utils/mount/stropts.c1
2 files changed, 4 insertions, 0 deletions
diff --git a/utils/mount/error.c b/utils/mount/error.c
index e06f598..c9797fc 100644
--- a/utils/mount/error.c
+++ b/utils/mount/error.c
@@ -247,6 +247,9 @@ void mount_error(const char *spec, const char *mount_point, int error)
nfs_error(_("%s: please report the error to" PACKAGE_BUGREPORT),
progname);
break;
+ case EALREADY:
+ /* Error message has already been provided */
+ break;
default:
nfs_error(_("%s: %s"),
progname, strerror(error));
diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c
index 76ecb32..df67fac 100644
--- a/utils/mount/stropts.c
+++ b/utils/mount/stropts.c
@@ -298,6 +298,7 @@ static int nfs_verify_lock_option(struct mount_options *options)
"required for remote locking."), progname);
nfs_error(_("%s: Either use '-o nolock' to keep "
"locks local, or start statd."), progname);
+ errno = EALREADY; /* Don't print further error message */
return 0;
}