linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] nfs-utils: Backgrounding mount broken with NFS versions <4
@ 2012-10-12 12:00 Wolfram Gloger
  2012-10-13 16:23 ` Chuck Lever
  2012-10-15 20:10 ` Steve Dickson
  0 siblings, 2 replies; 8+ messages in thread
From: Wolfram Gloger @ 2012-10-12 12:00 UTC (permalink / raw)
  To: linux-nfs; +Cc: wmglo

When the NFS version isn't specified in the mount options, mount.nfs
attempts V4 first and appends 'vers=4' to the extra_options string in
the mount options.  If the server isn't immediately reachable, this
attempt fails.  However, if the background option is specified and the
server comes up later on, the extra_options are used again for all
further attempts and thus they fail if the server only supports
vers<4.

Fix this by only amending extra_options on a successful vers=4 mount.

This is now Debian bug #690181 and has apparently been around for
ages.

Signed-off-by: Wolfram Gloger <bugzilla1@malloc.de>

--- utils/mount/stropts.c.orig	2012-08-23 19:41:56.000000000 +0200
+++ utils/mount/stropts.c	2012-10-11 13:46:25.000000000 +0200
@@ -680,6 +680,7 @@
 {
 	struct mount_options *options = po_dup(mi->options);
 	int result = 0;
+	char *extra_opts = NULL;
 
 	if (!options) {
 		errno = ENOMEM;
@@ -715,20 +716,26 @@
 		goto out_fail;
 	}
 
-	/*
-	 * Update option string to be recorded in /etc/mtab.
-	 */
-	if (po_join(options, mi->extra_opts) == PO_FAILED) {
+	if (po_join(options, &extra_opts) == PO_FAILED) {
 		errno = ENOMEM;
 		goto out_fail;
 	}
 
 	if (verbose)
 		printf(_("%s: trying text-based options '%s'\n"),
-			progname, *mi->extra_opts);
+			progname, extra_opts);
 
 	result = nfs_sys_mount(mi, options);
 
+	/*
+	 * If success, update option string to be recorded in /etc/mtab.
+	 */
+	if (result) {
+	    free(*mi->extra_opts);
+	    *mi->extra_opts = extra_opts;
+	} else
+	    free(extra_opts);
+
 out_fail:
 	po_destroy(options);
 	return result;

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-10-15 20:55 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-12 12:00 [PATCH] nfs-utils: Backgrounding mount broken with NFS versions <4 Wolfram Gloger
2012-10-13 16:23 ` Chuck Lever
2012-10-13 17:18   ` Wolfram Gloger
2012-10-13 17:25     ` Chuck Lever
2012-10-13 21:46       ` Wolfram Gloger
2012-10-14 19:10         ` Chuck Lever
2012-10-14 20:09           ` Wolfram Gloger
2012-10-15 20:10 ` Steve Dickson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).