2007-11-12 17:46:16

by Chuck Lever

[permalink] [raw]
Subject: [PATCH] Enable text-based mounts in mount.nfs

Hi Steve-

Sorry for posting a single patch with a cover letter (a practice normally
frowned upon).

Here's the mount.nfs change that makes text-based NFS mounts the default,
deprecating the old legacy mount ABI for 2.6.23 kernels and later. It's
best to get this into the code base for people to start using long before
you plan to cut a new release of nfs-utils.

Text-based NFS mounts, as you know, are required to enable several upcoming
advanced NFS features, such as IPv6 support, NFS over RDMA, and local disk
caching. It will also make it simple to add support for new NFS mount
options.

The 2.6.23 kernel's text-based NFS mount support works for many basic
configurations. There are some regression nits that are cleaned up in
2.6.24.

Btw, will you continue hosting the nfs-utils git repository on
linux-nfs.org?

--
corporate: <chuck dot lever at oracle dot com>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs


2007-11-12 17:46:29

by Chuck Lever

[permalink] [raw]
Subject: [PATCH] mount.nfs: Time to pull the covers off text-based NFS mounts

Get rid of the "-i" option for mount.nfs[4] and always use the text-
based mount(2) system call for kernel version 2.6.23 and later.

Signed-off-by: Chuck Lever <[email protected]>
---

utils/mount/mount.c | 21 ++++-----------------
1 files changed, 4 insertions(+), 17 deletions(-)

diff --git a/utils/mount/mount.c b/utils/mount/mount.c
index f3400e2..ea47cb4 100644
--- a/utils/mount/mount.c
+++ b/utils/mount/mount.c
@@ -65,7 +65,6 @@ static struct option longopts[] = {
{ "version", 0, 0, 'V' },
{ "read-write", 0, 0, 'w' },
{ "rw", 0, 0, 'w' },
- { "string", 0, 0, 'i' },
{ "options", 1, 0, 'o' },
{ NULL, 0, 0, 0 }
};
@@ -177,6 +176,9 @@ static void discover_nfs_mount_data_version(void)
}
if (nfs_mount_data_version > NFS_MOUNT_VERSION)
nfs_mount_data_version = NFS_MOUNT_VERSION;
+ else
+ if (kernel_version > MAKE_VERSION(2, 6, 22))
+ string++;
}

static void print_one(char *spec, char *node, char *type, char *opts)
@@ -286,7 +288,6 @@ void mount_usage(void)
printf(_("\t-f\t\tFake mount, do not actually mount\n"));
printf(_("\t-n\t\tDo not update /etc/mtab\n"));
printf(_("\t-s\t\tTolerate sloppy mount options rather than fail\n"));
- printf(_("\t-i\t\tPass mount options to the kernel via a string\n"));
printf(_("\t-h\t\tPrint this help\n"));
printf(_("\tnfsoptions\tRefer to mount.nfs(8) or nfs(5)\n\n"));
}
@@ -432,7 +433,7 @@ int main(int argc, char *argv[])
mount_point = argv[2];

argv[2] = argv[0]; /* so that getopt error messages are correct */
- while ((c = getopt_long(argc - 2, argv + 2, "rvVwfno:hsi",
+ while ((c = getopt_long(argc - 2, argv + 2, "rvVwfno:hs",
longopts, NULL)) != -1) {
switch (c) {
case 'r':
@@ -462,20 +463,6 @@ int main(int argc, char *argv[])
case 's':
++sloppy;
break;
- case 'i':
- if (linux_version_code() < MAKE_VERSION(2, 6, 23)) {
- nfs_error(_("%s: Passing mount options via a"
- " string is unsupported by this"
- " kernel\n"), progname);
- goto out_usage;
- }
- if (uid != 0) {
- nfs_error(_("%s: -i option is restricted to 'root'\n"),
- progname);
- goto out_usage;
- }
- ++string;
- break;
case 'h':
default:
mount_usage();


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs

2007-11-13 15:17:09

by Steve Dickson

[permalink] [raw]
Subject: Re: [PATCH] Enable text-based mounts in mount.nfs



Chuck Lever wrote:
> Hi Steve-
>
> Sorry for posting a single patch with a cover letter (a practice normally
> frowned upon).
>
> Here's the mount.nfs change that makes text-based NFS mounts the default,
> deprecating the old legacy mount ABI for 2.6.23 kernels and later. It's
> best to get this into the code base for people to start using long before
> you plan to cut a new release of nfs-utils.
>
> Text-based NFS mounts, as you know, are required to enable several upcoming
> advanced NFS features, such as IPv6 support, NFS over RDMA, and local disk
> caching. It will also make it simple to add support for new NFS mount
> options.
>
> The 2.6.23 kernel's text-based NFS mount support works for many basic
> configurations. There are some regression nits that are cleaned up in
> 2.6.24.
Ok..
>
> Btw, will you continue hosting the nfs-utils git repository on
> linux-nfs.org?
Yes... I'm a bit behind atm... but I plan on catching up this week...

steved.



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs