2008-05-29 19:40:53

by James Lentini

[permalink] [raw]
Subject: [PATCH] update mount.nfs example in NFS/RDMA documentation


Bruce,

Below is an update to the NFS/RDMA documentation that clarifies how
to run mount.nfs. Could you please merge this for 2.6.26?

Signed-off-by: James Lentini <[email protected]>

--- a/Documentation/filesystems/nfs-rdma.txt 2008-05-29 15:09:38.753033000 -0400
+++ b/Documentation/filesystems/nfs-rdma.txt 2008-05-29 15:31:33.374948000 -0400
@@ -5,7 +5,7 @@
################################################################################

Author: NetApp and Open Grid Computing
- Date: February 25, 2008
+ Date: May 29, 2008

Table of Contents
~~~~~~~~~~~~~~~~~
@@ -242,10 +242,19 @@ NFS/RDMA Setup

> modprobe xprtrdma.ko

- Regardless of how the client was built (module or built-in), issue the mount.nfs command:
+ Regardless of how the client was built (module or built-in), use the mount.nfs command to
+ mount the NFS/RDMA server.
+
+ If you have nfs-utils version 1.1.1, use this command:

> /path/to/your/mount.nfs <IPoIB-server-name-or-address>:/<export> /mnt -i -o rdma,port=2050

+ If you have nfs-utils version 1.1.2 or later, use this command (the "-i" flag is no longer
+ needed; the command checks the kernel's version to see if the NFS string mount API support is
+ available):
+
+ > /path/to/your/mount.nfs <IPoIB-server-name-or-address>:/<export> /mnt -o rdma,port=2050
+
To verify that the mount is using RDMA, run "cat /proc/mounts" and check the
"proto" field for the given mount.



2008-05-29 22:16:05

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH] update mount.nfs example in NFS/RDMA documentation

On Thu, May 29, 2008 at 03:40:49PM -0400, James Lentini wrote:
>
> Bruce,
>
> Below is an update to the NFS/RDMA documentation that clarifies how
> to run mount.nfs. Could you please merge this for 2.6.26?

Sure, but:

>
> Signed-off-by: James Lentini <[email protected]>
>
> --- a/Documentation/filesystems/nfs-rdma.txt 2008-05-29 15:09:38.753033000 -0400
> +++ b/Documentation/filesystems/nfs-rdma.txt 2008-05-29 15:31:33.374948000 -0400
> @@ -5,7 +5,7 @@
> ################################################################################
>
> Author: NetApp and Open Grid Computing
> - Date: February 25, 2008
> + Date: May 29, 2008

I'm getting rejects--the version upstream right now is dated April 15.
Could you re-diff that?

--b.

>
> Table of Contents
> ~~~~~~~~~~~~~~~~~
> @@ -242,10 +242,19 @@ NFS/RDMA Setup
>
> > modprobe xprtrdma.ko
>
> - Regardless of how the client was built (module or built-in), issue the mount.nfs command:
> + Regardless of how the client was built (module or built-in), use the mount.nfs command to
> + mount the NFS/RDMA server.
> +
> + If you have nfs-utils version 1.1.1, use this command:
>
> > /path/to/your/mount.nfs <IPoIB-server-name-or-address>:/<export> /mnt -i -o rdma,port=2050
>
> + If you have nfs-utils version 1.1.2 or later, use this command (the "-i" flag is no longer
> + needed; the command checks the kernel's version to see if the NFS string mount API support is
> + available):
> +
> + > /path/to/your/mount.nfs <IPoIB-server-name-or-address>:/<export> /mnt -o rdma,port=2050
> +
> To verify that the mount is using RDMA, run "cat /proc/mounts" and check the
> "proto" field for the given mount.
>

2008-05-30 15:10:34

by Chuck Lever III

[permalink] [raw]
Subject: Re: [PATCH] update mount.nfs example in NFS/RDMA documentation

Hi James-

On May 29, 2008, at 3:40 PM, James Lentini wrote:
> Bruce,
>
> Below is an update to the NFS/RDMA documentation that clarifies how
> to run mount.nfs. Could you please merge this for 2.6.26?
>
> Signed-off-by: James Lentini <[email protected]>
>
> --- a/Documentation/filesystems/nfs-rdma.txt 2008-05-29
> 15:09:38.753033000 -0400
> +++ b/Documentation/filesystems/nfs-rdma.txt 2008-05-29
> 15:31:33.374948000 -0400
> @@ -5,7 +5,7 @@
> ################################################################################
>
> Author: NetApp and Open Grid Computing
> - Date: February 25, 2008
> + Date: May 29, 2008
>
> Table of Contents
> ~~~~~~~~~~~~~~~~~
> @@ -242,10 +242,19 @@ NFS/RDMA Setup
>
>> modprobe xprtrdma.ko
>
> - Regardless of how the client was built (module or built-in),
> issue the mount.nfs command:
> + Regardless of how the client was built (module or built-in),
> use the mount.nfs command to
> + mount the NFS/RDMA server.
> +
> + If you have nfs-utils version 1.1.1, use this command:
>
>> /path/to/your/mount.nfs <IPoIB-server-name-or-address>:/<export> /
>> mnt -i -o rdma,port=2050
>
> + If you have nfs-utils version 1.1.2 or later, use this command
> (the "-i" flag is no longer
> + needed; the command checks the kernel's version to see if the
> NFS string mount API support is
> + available):
> +
> + > /path/to/your/mount.nfs <IPoIB-server-name-or-address>:/
> <export> /mnt -o rdma,port=2050
> +

Do you still need to invoke the helper directly? I think this should
work with a straight mount command after 1.1.2, since the "-i" flag is
no longer necessary.

If it works, the "permanent" instructions in this documentation should
use "mount" not "mount.nfs," and specify the command line arguments in
the right order (doesn't mount like the "-o options" to come before
the arguments?). We shouldn't encourage direct use of the helper
subcommand if we can avoid it, and it would allow admins to place rdma
mounts in /etc/fstab and automounter maps.

In fact, since 1.1.2 is now available, why even mention 1.1.1 in the
instructions? It would nicely simplify the text if you start with
1.1.2, and the scourge (or ridiculousness?) of the "-i" option need
never be mentioned again.

Looking at other parts of nfs-rdma.txt:

The instructions describing how to build nfs-utils are slightly
misleading. The "--disable-gss" and "--disable-nfsv4" options do not
affect the mount command -- the resulting mount.nfs executable still
supports NFSv4.

The true reason to specify these options on ./configure is to prevent
nfs-utils from building the idmapper and gssd executables, which you
don't need to replace if you are only installing a new mount.nfs
command, and which require that the build system have certain other
packages installed.

You can simply extract the rebuilt mount.nfs command instead of
installing the whole package with

$ sudo cp utils/mount/mount.nfs /path/to/your/mount.nfs

The tcp_wrappers package is needed to build nfs-utils in any case, so
it would be helpful to mention that too.

It's worth mentioning that several distributions already ship with
1.1.2, so on modern systems, this build step is probably not needed.

Also, I would use a standard shell prompt in the examples (say, "$ "
or "% ", or "# " as necessary, instead of "> "), but that's just me.

> To verify that the mount is using RDMA, run "cat /proc/mounts"
> and check the
> "proto" field for the given mount.

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com

2008-05-30 16:40:57

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH] update mount.nfs example in NFS/RDMA documentation

On Fri, May 30, 2008 at 11:09:19AM -0400, Chuck Lever wrote:
...
> In fact, since 1.1.2 is now available, why even mention 1.1.1 in the
> instructions? It would nicely simplify the text if you start with
> 1.1.2, and the scourge (or ridiculousness?) of the "-i" option need
> never be mentioned again.

Yeah, I'm with Chuck. If you really want to handle the 1.1.1 case,
maybe it could be stashed away in a footnote at the end?

And ditto here:

...
> It's worth mentioning that several distributions already ship with
> 1.1.2, so on modern systems, this build step is probably not needed.

The older distro's will go away eventually, so I'd aim for what will be
the most common (and simplest) case, and move the rest to an
appendix.

--b.

>
> Also, I would use a standard shell prompt in the examples (say, "$ " or
> "% ", or "# " as necessary, instead of "> "), but that's just me.
>
>> To verify that the mount is using RDMA, run "cat /proc/mounts" and
>> check the
>> "proto" field for the given mount.
>
> --
> Chuck Lever
> chuck[dot]lever[at]oracle[dot]com

2008-05-30 21:13:46

by James Lentini

[permalink] [raw]
Subject: Re: [PATCH] update mount.nfs example in NFS/RDMA documentation


On Thu, 29 May 2008, J. Bruce Fields wrote:

> On Thu, May 29, 2008 at 03:40:49PM -0400, James Lentini wrote:
> >
> > Bruce,
> >
> > Below is an update to the NFS/RDMA documentation that clarifies how
> > to run mount.nfs. Could you please merge this for 2.6.26?
>
> Sure, but:
>
> >
> > Signed-off-by: James Lentini <[email protected]>
> >
> > --- a/Documentation/filesystems/nfs-rdma.txt 2008-05-29 15:09:38.753033000 -0400
> > +++ b/Documentation/filesystems/nfs-rdma.txt 2008-05-29 15:31:33.374948000 -0400
> > @@ -5,7 +5,7 @@
> > ################################################################################
> >
> > Author: NetApp and Open Grid Computing
> > - Date: February 25, 2008
> > + Date: May 29, 2008
>
> I'm getting rejects--the version upstream right now is dated April
> 15. Could you re-diff that?

Sorry Bruce. I diff it against the version in the master branch of
your git repo. I should have switched to the for-2.6.26 branch. I'll
incorporate Chuck's comments and resend.

2008-05-30 22:14:04

by James Lentini

[permalink] [raw]
Subject: Re: [PATCH] update mount.nfs example in NFS/RDMA documentation


Hi Chuck,

Replies below:

On Fri, 30 May 2008, Chuck Lever wrote:

> Do you still need to invoke the helper directly? I think this should work
> with a straight mount command after 1.1.2, since the "-i" flag is no longer
> necessary.

Correct. I'll update this.

> If it works, the "permanent" instructions in this documentation should use
> "mount" not "mount.nfs," and specify the command line arguments in the right
> order (doesn't mount like the "-o options" to come before the arguments?). We

mount.nfs accepts either order, but I'll move the -o options before
the other arguments to agree with the mount man page.

> shouldn't encourage direct use of the helper subcommand if we can avoid it,
> and it would allow admins to place rdma mounts in /etc/fstab and automounter
> maps.
>
> In fact, since 1.1.2 is now available, why even mention 1.1.1 in the
> instructions? It would nicely simplify the text if you start with 1.1.2, and
> the scourge (or ridiculousness?) of the "-i" option need never be mentioned
> again.
>
> Looking at other parts of nfs-rdma.txt:
>
> The instructions describing how to build nfs-utils are slightly misleading.
> The "--disable-gss" and "--disable-nfsv4" options do not affect the mount
> command -- the resulting mount.nfs executable still supports NFSv4.
>
> The true reason to specify these options on ./configure is to prevent
> nfs-utils from building the idmapper and gssd executables, which you don't
> need to replace if you are only installing a new mount.nfs command, and which
> require that the build system have certain other packages installed.

Thanks. I'll correct this.

> You can simply extract the rebuilt mount.nfs command instead of installing the
> whole package with
>
> $ sudo cp utils/mount/mount.nfs /path/to/your/mount.nfs

For mount.nfs to be picked up automatically by mount, mount.nfs needs
to be at /sbin/mount.nfs, correct? In the instructions, I'll recommend
that the binary be copied as follows:

$ sudo cp utils/mount/mount.nfs /sbin/mount.nfs

>
> The tcp_wrappers package is needed to build nfs-utils in any case, so it would
> be helpful to mention that too.

I'd like to leave that detail to the nfs-utils README. Does that sound
reasonable?

> It's worth mentioning that several distributions already ship with
> 1.1.2, so on modern systems, this build step is probably not needed.
>
> Also, I would use a standard shell prompt in the examples (say, "$ " or "% ",
> or "# " as necessary, instead of "> "), but that's just me.

Good point. ">" is my shell prompt, so it looks natural to me. I'll
change it to "$".

2008-05-30 22:55:17

by Chuck Lever III

[permalink] [raw]
Subject: Re: [PATCH] update mount.nfs example in NFS/RDMA documentation

On May 30, 2008, at 6:14 PM, James Lentini wrote:
> Hi Chuck,
>
> Replies below:
>
> On Fri, 30 May 2008, Chuck Lever wrote:
>> You can simply extract the rebuilt mount.nfs command instead of
>> installing the
>> whole package with
>>
>> $ sudo cp utils/mount/mount.nfs /path/to/your/mount.nfs
>
> For mount.nfs to be picked up automatically by mount, mount.nfs needs
> to be at /sbin/mount.nfs, correct?

I haven't looked at that part of the mount command, but usually
distributors will cede that detail to the package maintainers to
reduce the number of patches they have to apply.

Let's assume /sbin is the correct place for mount.nfs, unless someone
complains loudly.

> In the instructions, I'll recommend
> that the binary be copied as follows:
>
> $ sudo cp utils/mount/mount.nfs /sbin/mount.nfs
>
>> The tcp_wrappers package is needed to build nfs-utils in any case,
>> so it would
>> be helpful to mention that too.
>
> I'd like to leave that detail to the nfs-utils README. Does that sound
> reasonable?

If you're going to provide a blanket pointer to the nfs-utils README
for building it, and omit any specific instructions from nfs-rdma.txt
(aside from copying the mount.nfs executable), that sounds reasonable.

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com

2008-06-02 19:30:38

by James Lentini

[permalink] [raw]
Subject: Re: [PATCH] update mount.nfs example in NFS/RDMA documentation


On Fri, 30 May 2008, Chuck Lever wrote:

> > In the instructions, I'll recommend
> > that the binary be copied as follows:
> >
> > $ sudo cp utils/mount/mount.nfs /sbin/mount.nfs
> >
> > > The tcp_wrappers package is needed to build nfs-utils in any case, so it
> > > would
> > > be helpful to mention that too.
> >
> > I'd like to leave that detail to the nfs-utils README. Does that sound
> > reasonable?
>
> If you're going to provide a blanket pointer to the nfs-utils README
> for building it, and omit any specific instructions from
> nfs-rdma.txt (aside from copying the mount.nfs executable), that
> sounds reasonable.

I'd like to provide a few hints about how to build nfs-utils,
specifically the note on the --disable-gss and --disable-nfsv4 flags.
We've had questions on this in the past. I'll add a note about
tcp_wrappers.