From: Chuck Lever <chuck.lever@oracle.com>
Date: Mon, 8 Oct 2007 15:53:46 +0000 (-0400)
Subject: text-based mount.nfs: refactor mandatory mount option processing
X-Git-Tag: nfs-utils-1-1-1~26
X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=ba0c5b3b8a635ce671778b630787bce857ee81c7;p=nfs-utils.git

text-based mount.nfs: refactor mandatory mount option processing

We're about to combine nfsmount_s() and nfs4mount_s().  Refactor the
version-specific mount option processing into a separate function.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
---

diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c
index 3d83f9e..6270312 100644
--- a/utils/mount/stropts.c
+++ b/utils/mount/stropts.c
@@ -214,6 +214,29 @@ static int fix_mounthost_option(struct mount_options *options)
 	return 0;
 }
 
+/*
+ * Set up mandatory mount options.
+ *
+ * Returns 1 if successful; otherwise zero.
+ */
+static int set_mandatory_options(const char *type,
+				 struct sockaddr_in *saddr,
+				 struct mount_options *options)
+{
+	if (!append_addr_option(saddr, options))
+		return 0;
+
+	if (strncmp(type, "nfs4", 4) == 0) {
+		if (!append_clientaddr_option(saddr, options))
+			return 0;
+	} else {
+		if (!fix_mounthost_option(options))
+			return 0;
+	}
+
+	return 1;
+}
+
 /*
  * nfsmount_s - Mount an NFSv2 or v3 file system using C string options
  *