summaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2010-10-13 13:57:52 -0400
committerSteve Dickson <steved@redhat.com>2010-10-14 10:27:00 -0400
commit93dcf64cc4a9e67f693aea35c8193428015f4a30 (patch)
tree93e081ff478819c3f514437d94c6cbd8729a7c98 /utils
parentdc08c702a6c7f824f317af561f491635ee898a71 (diff)
downloadnfs-utils-93dcf64cc4a9e67f693aea35c8193428015f4a30.tar.gz
nfs-utils-93dcf64cc4a9e67f693aea35c8193428015f4a30.tar.xz
nfs-utils-93dcf64cc4a9e67f693aea35c8193428015f4a30.zip
behavior as file systems that use the monolithic /sbin/mount command.
See the MS_NOMTAB macro in utils-linux-ng/mount/mount.c. Note that mount(8) has MS_USERS and MS_USER in the "nomtab" category as well, but mount.nfs needs to record those values so that unmounting a user-mounted NFS file system can work. While we're here, fix some white space damage in fix_opts_string(). 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>
Diffstat (limited to 'utils')
-rw-r--r--utils/mount/mount.c4
-rw-r--r--utils/mount/mount_constants.h4
2 files changed, 6 insertions, 2 deletions
diff --git a/utils/mount/mount.c b/utils/mount/mount.c
index 2909595..b4da21f 100644
--- a/utils/mount/mount.c
+++ b/utils/mount/mount.c
@@ -209,7 +209,7 @@ static char *fix_opts_string(int flags, const char *extra_opts)
}
if (flags & MS_USERS)
new_opts = xstrconcat3(new_opts, ",users", "");
-
+
for (om = opt_map; om->opt != NULL; om++) {
if (om->skip)
continue;
@@ -281,7 +281,7 @@ static int add_mtab(char *spec, char *mount_point, char *fstype,
ment.mnt_fsname = spec;
ment.mnt_dir = mount_point;
ment.mnt_type = fstype;
- ment.mnt_opts = fix_opts_string(flags, opts);
+ ment.mnt_opts = fix_opts_string(flags & ~MS_NOMTAB, opts);
ment.mnt_freq = freq;
ment.mnt_passno = pass;
diff --git a/utils/mount/mount_constants.h b/utils/mount/mount_constants.h
index cbfb099..4d050d8 100644
--- a/utils/mount/mount_constants.h
+++ b/utils/mount/mount_constants.h
@@ -64,4 +64,8 @@ if we have a stack or plain mount - mount atop of it, forming a stack. */
#define MS_MGC_MSK 0xffff0000 /* magic flag number mask */
#endif
+/* Generic options that are prevented from appearing
+ * in the options field in /etc/mtab. */
+#define MS_NOMTAB (MS_REMOUNT)
+
#endif /* _NFS_UTILS_MOUNT_CONSTANTS_H */