Linux NFS development
 help / color / mirror / Atom feed
* The next step: nfsvers=4
@ 2009-03-19 16:18 Steve Dickson
       [not found] ` <49C2704F.5050303-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
  0 siblings, 1 reply; 13+ messages in thread
From: Steve Dickson @ 2009-03-19 16:18 UTC (permalink / raw)
  To: linux NFS Mailing list

As I see it, the next step to seamlessly move to V4 as 
the default is to make 'mount -o nfsvers=4' actually 
do a v4 mount... 

There are two obvious place we can make this change.
In the kernel and/or in the mount command... 

Looking at the kernel, since v3 and v4 truly two different
file systems its seems a bit late for the nfs_get_sb()
to all of sudden have to change file system type. Meaning
when nfs_get_sb() sees the "nfsvers=4" somehow it would
have to back out and call nfs4_get_sb(), which obviously 
is a bit hacky.... 

Now I guess we could have one nfs_get_sb() for both v3 and v4.
Where the nfs_get_sb() could peek into the options data to
see which version is needed. This would also mean the mount 
command would always have to set a version so when the "nfsvers=" 
options is not set, the kernel would know which version to use.
Again, this feels a bit hacky as well but doable... 

At least to me, what seems like the best option is to have 
the mount.nfs binary early on intercept "nfsvers=4" option
and then change the fs_type to "nfs4", which would allow
everything to "trickle down" as it does today... Again to
me, that seem like the least intrusive way to do it...

Comments? Is there other ways?

steved.

 

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

* RE: The next step: nfsvers=4
       [not found] ` <49C2704F.5050303-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
@ 2009-03-19 16:34   ` Muntz, Daniel
       [not found]     ` <7A24DF798E223B4C9864E8F92E8C93EC026043D3-hX7t0kiaRRpT+ZUat5FNkAK/GNPrWCqfQQ4Iyu8u01E@public.gmane.org>
  2009-03-19 16:43     ` Steve Dickson
  0 siblings, 2 replies; 13+ messages in thread
From: Muntz, Daniel @ 2009-03-19 16:34 UTC (permalink / raw)
  To: Steve Dickson, linux NFS Mailing list

 

> -----Original Message-----
> From: Steve Dickson [mailto:SteveD@redhat.com] 
> Sent: Thursday, March 19, 2009 9:18 AM
> To: linux NFS Mailing list
> Subject: The next step: nfsvers=4
> 
> As I see it, the next step to seamlessly move to V4 as the 
> default is to make 'mount -o nfsvers=4' actually do a v4 mount... 
> 
> There are two obvious place we can make this change.
> In the kernel and/or in the mount command... 
> 
> Looking at the kernel, since v3 and v4 truly two different 
> file systems its seems a bit late for the nfs_get_sb() to all 
> of sudden have to change file system type. Meaning when 
> nfs_get_sb() sees the "nfsvers=4" somehow it would have to 
> back out and call nfs4_get_sb(), which obviously is a bit hacky.... 
> 
> Now I guess we could have one nfs_get_sb() for both v3 and v4.
> Where the nfs_get_sb() could peek into the options data to 
> see which version is needed. This would also mean the mount 
> command would always have to set a version so when the "nfsvers=" 
> options is not set, the kernel would know which version to use.
> Again, this feels a bit hacky as well but doable... 
> 
> At least to me, what seems like the best option is to have 
> the mount.nfs binary early on intercept "nfsvers=4" option 
> and then change the fs_type to "nfs4", which would allow 
> everything to "trickle down" as it does today... Again to me, 
> that seem like the least intrusive way to do it...
> 
> Comments? Is there other ways?

Whichever way it's done, if v4 becomes the default, don't forget to also
make the default behavior be that the system will fall back and try a v3
mount if v4 isn't available.  Otherwise you'll break a huge percentage
of your user base.  Of course then you also have to deal with the
semantics of how to specifify "only v4" vs. "try v4 first and fall
back".

> 
> steved.
> 
>  
> --
> To unsubscribe from this list: send the line "unsubscribe 
> linux-nfs" in the body of a message to 
> majordomo@vger.kernel.org More majordomo info at  
> http://vger.kernel.org/majordomo-info.html
> 

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

* Re: The next step: nfsvers=4
       [not found]     ` <7A24DF798E223B4C9864E8F92E8C93EC026043D3-hX7t0kiaRRpT+ZUat5FNkAK/GNPrWCqfQQ4Iyu8u01E@public.gmane.org>
@ 2009-03-19 16:43       ` Chuck Lever
  2009-03-19 16:50         ` Steve Dickson
  2009-03-19 17:33         ` Benny Halevy
  0 siblings, 2 replies; 13+ messages in thread
From: Chuck Lever @ 2009-03-19 16:43 UTC (permalink / raw)
  To: Steve Dickson; +Cc: Daniel Muntz, Linux NFS Mailing List

On Mar 19, 2009, at Mar 19, 2009, 12:34 PM, Muntz, Daniel wrote:
>> -----Original Message-----
>> From: Steve Dickson [mailto:SteveD@redhat.com]
>> Sent: Thursday, March 19, 2009 9:18 AM
>> To: linux NFS Mailing list
>> Subject: The next step: nfsvers=4
>>
>> As I see it, the next step to seamlessly move to V4 as the
>> default is to make 'mount -o nfsvers=4' actually do a v4 mount...
>>
>> There are two obvious place we can make this change.
>> In the kernel and/or in the mount command...
>>
>> Looking at the kernel, since v3 and v4 truly two different
>> file systems its seems a bit late for the nfs_get_sb() to all
>> of sudden have to change file system type. Meaning when
>> nfs_get_sb() sees the "nfsvers=4" somehow it would have to
>> back out and call nfs4_get_sb(), which obviously is a bit hacky....
>>
>> Now I guess we could have one nfs_get_sb() for both v3 and v4.
>> Where the nfs_get_sb() could peek into the options data to
>> see which version is needed. This would also mean the mount
>> command would always have to set a version so when the "nfsvers="
>> options is not set, the kernel would know which version to use.
>> Again, this feels a bit hacky as well but doable...
>>
>> At least to me, what seems like the best option is to have
>> the mount.nfs binary early on intercept "nfsvers=4" option
>> and then change the fs_type to "nfs4", which would allow
>> everything to "trickle down" as it does today... Again to me,
>> that seem like the least intrusive way to do it...
>>
>> Comments? Is there other ways?

Having the mount.nfs command translate sounds like a pretty easy thing  
to prototype.

> Whichever way it's done, if v4 becomes the default, don't forget to  
> also
> make the default behavior be that the system will fall back and try  
> a v3
> mount if v4 isn't available.  Otherwise you'll break a huge percentage
> of your user base.  Of course then you also have to deal with the
> semantics of how to specifify "only v4" vs. "try v4 first and fall
> back".

Today, specifying vers=3 means "I want vers=3 or nothing".  Not  
specifying any version means the mount command can choose which  
version to use based on what both sides support.

If no vers= option is specified, I don't think it would be difficult  
for the text-based mount command to try a "nfs4" mount first, and if  
that fails try an "nfs" mount.

Steve, would you like me to provide a prototype mount.nfs command that  
handles this?

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

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

* Re: The next step: nfsvers=4
  2009-03-19 16:34   ` Muntz, Daniel
       [not found]     ` <7A24DF798E223B4C9864E8F92E8C93EC026043D3-hX7t0kiaRRpT+ZUat5FNkAK/GNPrWCqfQQ4Iyu8u01E@public.gmane.org>
@ 2009-03-19 16:43     ` Steve Dickson
  1 sibling, 0 replies; 13+ messages in thread
From: Steve Dickson @ 2009-03-19 16:43 UTC (permalink / raw)
  To: Muntz, Daniel; +Cc: linux NFS Mailing list, Linux NFSv4 mailing list

Muntz, Daniel wrote:
>  
> 
>> -----Original Message-----
>> From: Steve Dickson [mailto:SteveD@redhat.com] 
>> Sent: Thursday, March 19, 2009 9:18 AM
>> To: linux NFS Mailing list
>> Subject: The next step: nfsvers=4
>>
>> As I see it, the next step to seamlessly move to V4 as the 
>> default is to make 'mount -o nfsvers=4' actually do a v4 mount... 
>>
>> There are two obvious place we can make this change.
>> In the kernel and/or in the mount command... 
>>
>> Looking at the kernel, since v3 and v4 truly two different 
>> file systems its seems a bit late for the nfs_get_sb() to all 
>> of sudden have to change file system type. Meaning when 
>> nfs_get_sb() sees the "nfsvers=4" somehow it would have to 
>> back out and call nfs4_get_sb(), which obviously is a bit hacky.... 
>>
>> Now I guess we could have one nfs_get_sb() for both v3 and v4.
>> Where the nfs_get_sb() could peek into the options data to 
>> see which version is needed. This would also mean the mount 
>> command would always have to set a version so when the "nfsvers=" 
>> options is not set, the kernel would know which version to use.
>> Again, this feels a bit hacky as well but doable... 
>>
>> At least to me, what seems like the best option is to have 
>> the mount.nfs binary early on intercept "nfsvers=4" option 
>> and then change the fs_type to "nfs4", which would allow 
>> everything to "trickle down" as it does today... Again to me, 
>> that seem like the least intrusive way to do it...
>>
>> Comments? Is there other ways?
> 
> Whichever way it's done, if v4 becomes the default, don't forget to also
> make the default behavior be that the system will fall back and try a v3
> mount if v4 isn't available.  Otherwise you'll break a huge percentage
> of your user base.  Of course then you also have to deal with the
> semantics of how to specifify "only v4" vs. "try v4 first and fall
> back".
No worries... falling back to v3/v2 will be the will definitely
happen before the switch is made... 

This was this is reason I'm pushing for a mount configuration file.
So the semantics of which version is or is not tried can be defined locally...

steved.

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

* Re: The next step: nfsvers=4
  2009-03-19 16:43       ` Chuck Lever
@ 2009-03-19 16:50         ` Steve Dickson
  2009-03-19 17:33         ` Benny Halevy
  1 sibling, 0 replies; 13+ messages in thread
From: Steve Dickson @ 2009-03-19 16:50 UTC (permalink / raw)
  To: Chuck Lever; +Cc: Linux NFSv4 mailing list, Linux NFS Mailing List



Chuck Lever wrote:
> On Mar 19, 2009, at Mar 19, 2009, 12:34 PM, Muntz, Daniel wrote:
>>> -----Original Message-----
>>> From: Steve Dickson [mailto:SteveD@redhat.com]
>>> Sent: Thursday, March 19, 2009 9:18 AM
>>> To: linux NFS Mailing list
>>> Subject: The next step: nfsvers=4
>>>
>>> As I see it, the next step to seamlessly move to V4 as the
>>> default is to make 'mount -o nfsvers=4' actually do a v4 mount...
>>>
>>> There are two obvious place we can make this change.
>>> In the kernel and/or in the mount command...
>>>
>>> Looking at the kernel, since v3 and v4 truly two different
>>> file systems its seems a bit late for the nfs_get_sb() to all
>>> of sudden have to change file system type. Meaning when
>>> nfs_get_sb() sees the "nfsvers=4" somehow it would have to
>>> back out and call nfs4_get_sb(), which obviously is a bit hacky....
>>>
>>> Now I guess we could have one nfs_get_sb() for both v3 and v4.
>>> Where the nfs_get_sb() could peek into the options data to
>>> see which version is needed. This would also mean the mount
>>> command would always have to set a version so when the "nfsvers="
>>> options is not set, the kernel would know which version to use.
>>> Again, this feels a bit hacky as well but doable...
>>>
>>> At least to me, what seems like the best option is to have
>>> the mount.nfs binary early on intercept "nfsvers=4" option
>>> and then change the fs_type to "nfs4", which would allow
>>> everything to "trickle down" as it does today... Again to me,
>>> that seem like the least intrusive way to do it...
>>>
>>> Comments? Is there other ways?
> 
> Having the mount.nfs command translate sounds like a pretty easy thing
> to prototype.
Yes.. I agree...

> 
>> Whichever way it's done, if v4 becomes the default, don't forget to also
>> make the default behavior be that the system will fall back and try a v3
>> mount if v4 isn't available.  Otherwise you'll break a huge percentage
>> of your user base.  Of course then you also have to deal with the
>> semantics of how to specifify "only v4" vs. "try v4 first and fall
>> back".
> 
> Today, specifying vers=3 means "I want vers=3 or nothing".  Not
> specifying any version means the mount command can choose which version
> to use based on what both sides support.
> 
> If no vers= option is specified, I don't think it would be difficult for
> the text-based mount command to try a "nfs4" mount first, and if that
> fails try an "nfs" mount.
> 
> Steve, would you like me to provide a prototype mount.nfs command that
> handles this?
Well I was thinking more of lets walk before we run... meaning... lets just get the
'nfsvers=4' working and accepted. Then deal with the v4/v3/v2 fall back in the
next patch set... 

As you say... the prototype looks to be pretty easy... so let me take a crack at
it... besides... you are making some good progress with IPV6 code... I don't
think this should get in the way of that...

steved.


steved.

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

* Re: The next step: nfsvers=4
  2009-03-19 16:43       ` Chuck Lever
  2009-03-19 16:50         ` Steve Dickson
@ 2009-03-19 17:33         ` Benny Halevy
  2009-03-19 18:13           ` Chuck Lever
  1 sibling, 1 reply; 13+ messages in thread
From: Benny Halevy @ 2009-03-19 17:33 UTC (permalink / raw)
  To: Chuck Lever; +Cc: Steve Dickson, Daniel Muntz, Linux NFS Mailing List

On Mar. 19, 2009, 18:43 +0200, Chuck Lever <chuck.lever@oracle.com> wrote:
> On Mar 19, 2009, at Mar 19, 2009, 12:34 PM, Muntz, Daniel wrote:
>>> -----Original Message-----
>>> From: Steve Dickson [mailto:SteveD@redhat.com]
>>> Sent: Thursday, March 19, 2009 9:18 AM
>>> To: linux NFS Mailing list
>>> Subject: The next step: nfsvers=4
>>>
>>> As I see it, the next step to seamlessly move to V4 as the
>>> default is to make 'mount -o nfsvers=4' actually do a v4 mount...
>>>
>>> There are two obvious place we can make this change.
>>> In the kernel and/or in the mount command...
>>>
>>> Looking at the kernel, since v3 and v4 truly two different
>>> file systems its seems a bit late for the nfs_get_sb() to all
>>> of sudden have to change file system type. Meaning when
>>> nfs_get_sb() sees the "nfsvers=4" somehow it would have to
>>> back out and call nfs4_get_sb(), which obviously is a bit hacky....
>>>
>>> Now I guess we could have one nfs_get_sb() for both v3 and v4.
>>> Where the nfs_get_sb() could peek into the options data to
>>> see which version is needed. This would also mean the mount
>>> command would always have to set a version so when the "nfsvers="
>>> options is not set, the kernel would know which version to use.
>>> Again, this feels a bit hacky as well but doable...
>>>
>>> At least to me, what seems like the best option is to have
>>> the mount.nfs binary early on intercept "nfsvers=4" option
>>> and then change the fs_type to "nfs4", which would allow
>>> everything to "trickle down" as it does today... Again to me,
>>> that seem like the least intrusive way to do it...
>>>
>>> Comments? Is there other ways?
> 
> Having the mount.nfs command translate sounds like a pretty easy thing  
> to prototype.
> 
>> Whichever way it's done, if v4 becomes the default, don't forget to  
>> also
>> make the default behavior be that the system will fall back and try  
>> a v3
>> mount if v4 isn't available.  Otherwise you'll break a huge percentage
>> of your user base.  Of course then you also have to deal with the
>> semantics of how to specifify "only v4" vs. "try v4 first and fall
>> back".
> 
> Today, specifying vers=3 means "I want vers=3 or nothing".  Not  
> specifying any version means the mount command can choose which  
> version to use based on what both sides support.
> 
> If no vers= option is specified, I don't think it would be difficult  
> for the text-based mount command to try a "nfs4" mount first, and if  
> that fails try an "nfs" mount.

Agreed.
That's pretty much what we planned to do in the future also
for minorversion=1, after discussing this also with Trond.
The principle was that the policy for choosing what versions
to try and in which order should be determined by the
user mode utilities since one can think of customers that would
only want to use nfsv4.1 for its exactly once semantics,
or others that would want to start with 4.0 and fall back
to 3 and 2 since trying 4.1 might break their servers, etc.

I think that if no version is specified all versions that
the client supports should be tried, highest first.
Otherwise mount.nfs should try only the specified version.

For implementing more complex policies, maybe we can extend
the command syntax to accept a range and/or an ordered list
of versions to try.

Benny

> 
> Steve, would you like me to provide a prototype mount.nfs command that  
> handles this?
> 
> --
> Chuck Lever
> chuck[dot]lever[at]oracle[dot]com
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: The next step: nfsvers=4
  2009-03-19 17:33         ` Benny Halevy
@ 2009-03-19 18:13           ` Chuck Lever
  2009-03-19 18:41             ` Tom Talpey
  2009-03-20 11:50             ` Steve Dickson
  0 siblings, 2 replies; 13+ messages in thread
From: Chuck Lever @ 2009-03-19 18:13 UTC (permalink / raw)
  To: Benny Halevy; +Cc: Steve Dickson, Linux NFS Mailing List

On Mar 19, 2009, at Mar 19, 2009, 1:33 PM, Benny Halevy wrote:
> On Mar. 19, 2009, 18:43 +0200, Chuck Lever <chuck.lever@oracle.com>  
> wrote:
>> On Mar 19, 2009, at Mar 19, 2009, 12:34 PM, Muntz, Daniel wrote:
>>>> -----Original Message-----
>>>> From: Steve Dickson [mailto:SteveD@redhat.com]
>>>> Sent: Thursday, March 19, 2009 9:18 AM
>>>> To: linux NFS Mailing list
>>>> Subject: The next step: nfsvers=4
>>>>
>>>> As I see it, the next step to seamlessly move to V4 as the
>>>> default is to make 'mount -o nfsvers=4' actually do a v4 mount...
>>>>
>>>> There are two obvious place we can make this change.
>>>> In the kernel and/or in the mount command...
>>>>
>>>> Looking at the kernel, since v3 and v4 truly two different
>>>> file systems its seems a bit late for the nfs_get_sb() to all
>>>> of sudden have to change file system type. Meaning when
>>>> nfs_get_sb() sees the "nfsvers=4" somehow it would have to
>>>> back out and call nfs4_get_sb(), which obviously is a bit hacky....
>>>>
>>>> Now I guess we could have one nfs_get_sb() for both v3 and v4.
>>>> Where the nfs_get_sb() could peek into the options data to
>>>> see which version is needed. This would also mean the mount
>>>> command would always have to set a version so when the "nfsvers="
>>>> options is not set, the kernel would know which version to use.
>>>> Again, this feels a bit hacky as well but doable...
>>>>
>>>> At least to me, what seems like the best option is to have
>>>> the mount.nfs binary early on intercept "nfsvers=4" option
>>>> and then change the fs_type to "nfs4", which would allow
>>>> everything to "trickle down" as it does today... Again to me,
>>>> that seem like the least intrusive way to do it...
>>>>
>>>> Comments? Is there other ways?
>>
>> Having the mount.nfs command translate sounds like a pretty easy  
>> thing
>> to prototype.
>>
>>> Whichever way it's done, if v4 becomes the default, don't forget to
>>> also
>>> make the default behavior be that the system will fall back and try
>>> a v3
>>> mount if v4 isn't available.  Otherwise you'll break a huge  
>>> percentage
>>> of your user base.  Of course then you also have to deal with the
>>> semantics of how to specifify "only v4" vs. "try v4 first and fall
>>> back".
>>
>> Today, specifying vers=3 means "I want vers=3 or nothing".  Not
>> specifying any version means the mount command can choose which
>> version to use based on what both sides support.
>>
>> If no vers= option is specified, I don't think it would be difficult
>> for the text-based mount command to try a "nfs4" mount first, and if
>> that fails try an "nfs" mount.
>
> Agreed.
> That's pretty much what we planned to do in the future also
> for minorversion=1, after discussing this also with Trond.
> The principle was that the policy for choosing what versions
> to try and in which order should be determined by the
> user mode utilities since one can think of customers that would
> only want to use nfsv4.1 for its exactly once semantics,
> or others that would want to start with 4.0 and fall back
> to 3 and 2 since trying 4.1 might break their servers, etc.
>
> I think that if no version is specified all versions that
> the client supports should be tried, highest first.
> Otherwise mount.nfs should try only the specified version.

One nit is that the set of mount options supported by nfs4 is  
different than the set supported by nfs.  clientaddr= is supported by  
nfs4, but not by nfs, for example.  I believe that nocto is not  
supported by nfs4.  The mountproto option is only supported by nfs.

If no vers= is specified and only NFSv4 is available on the server,  
but something like "nocto" shows up on the command line mount options,  
do we:

a) fail the mount, or
b) ignore the nocto option

a) seems like the least surprising behavior.

What about "proto=udp" ?  Linux supports UDP for NFSv4, though other  
server implementations probably don't.  If that's specified on a mount  
command line without a vers= option, what version should we choose?

> For implementing more complex policies, maybe we can extend
> the command syntax to accept a range and/or an ordered list
> of versions to try.

Steve mentioned /etc/default/nfs on Solaris.  I could see /etc/ 
sysconfig/nfs on Linux containing a couple of lines defining the range  
of allowable NFS versions, if we think this is necessary.  This is a  
simple pre-existing file, and has little potential for introducing  
negative side-effects.

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

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

* Re: The next step: nfsvers=4
  2009-03-19 18:13           ` Chuck Lever
@ 2009-03-19 18:41             ` Tom Talpey
       [not found]               ` <49c29203.85c2f10a.098d.17b5-ATjtLOhZ0NVl57MIdRCFDg@public.gmane.org>
  2009-03-20 11:50             ` Steve Dickson
  1 sibling, 1 reply; 13+ messages in thread
From: Tom Talpey @ 2009-03-19 18:41 UTC (permalink / raw)
  To: Chuck Lever; +Cc: Benny Halevy, Steve Dickson, Linux NFS Mailing List

At 02:13 PM 3/19/2009, Chuck Lever wrote:
>On Mar 19, 2009, at Mar 19, 2009, 1:33 PM, Benny Halevy wrote:
>> I think that if no version is specified all versions that
>> the client supports should be tried, highest first.
>> Otherwise mount.nfs should try only the specified version.
>
>One nit is that the set of mount options supported by nfs4 is  
>different than the set supported by nfs.  clientaddr= is supported by  
>nfs4, but not by nfs, for example.  I believe that nocto is not  
>supported by nfs4.  The mountproto option is only supported by nfs.
>
>If no vers= is specified and only NFSv4 is available on the server,  
>but something like "nocto" shows up on the command line mount options,  
>do we:
>
>a) fail the mount, or
>b) ignore the nocto option
>
>a) seems like the least surprising behavior.

I think the "sloppy" option might be relevant here too.

While we're on the subject of sloppy, what about the automounter?
It has always been an issue to deploy automounter maps which are
shared by diverse client populations - there are significant issues
for older Linux clients, and newer Solaris ones for that matter, with
NFSv4.

I would strongly suggest touching and/or changing as few options as
possible, and paying close attention to the results with legacy or
generic configurations on new kernels. The more lenient, the better
IMO, except where specific options require specific actions.

Tom.


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

* Re: The next step: nfsvers=4
  2009-03-19 18:13           ` Chuck Lever
  2009-03-19 18:41             ` Tom Talpey
@ 2009-03-20 11:50             ` Steve Dickson
       [not found]               ` <49C382F1.6080205-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
  1 sibling, 1 reply; 13+ messages in thread
From: Steve Dickson @ 2009-03-20 11:50 UTC (permalink / raw)
  To: Chuck Lever; +Cc: Benny Halevy, Linux NFS Mailing List

Chuck Lever wrote:
> If no vers= is specified and only NFSv4 is available on the server, but
> something like "nocto" shows up on the command line mount options, do we:
> 
> a) fail the mount, or
> b) ignore the nocto option
I would say ignore this particular option... since, in a sense, v4 give you this option
by default due to delegations... but point well taken... The mapping of
v3 to v4 and visa versa will have to be addressed... I would guess in the mount
command...  
 
> 
> a) seems like the least surprising behavior.
> 
> What about "proto=udp" ?  Linux supports UDP for NFSv4, though other
> server implementations probably don't.  If that's specified on a mount
> command line without a vers= option, what version should we choose?
I think people just want things to work... so if they specify only UDP
and the server supports V4, we give them V4/TCP. If they REALLY want 
UDP, they would have to specify 'nfsvers=3,udp'.

Or, if there was an mount configuration file, they could specify the
MAX_VERSION to be 3 and then -o udp mounts work as expected...

> 
>> For implementing more complex policies, maybe we can extend
>> the command syntax to accept a range and/or an ordered list
>> of versions to try.
> 
> Steve mentioned /etc/default/nfs on Solaris.  I could see
> /etc/sysconfig/nfs on Linux containing a couple of lines defining the
> range of allowable NFS versions, if we think this is necessary.  This is
> a simple pre-existing file, and has little potential for introducing
> negative side-effects.
The /etc/sysconfig/nfs is a distro only file... Meaning I know of only 
one distro that uses that file.. So I would tend to shy away from putting
anything in that... 

steved.

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

* Re: The next step: nfsvers=4
       [not found]               ` <49c29203.85c2f10a.098d.17b5-ATjtLOhZ0NVl57MIdRCFDg@public.gmane.org>
@ 2009-03-20 11:55                 ` Steve Dickson
  2009-04-18  1:00                 ` Kevin Constantine
  1 sibling, 0 replies; 13+ messages in thread
From: Steve Dickson @ 2009-03-20 11:55 UTC (permalink / raw)
  To: Tom Talpey; +Cc: Chuck Lever, Benny Halevy, Linux NFS Mailing List

Tom Talpey wrote:
> 
> I would strongly suggest touching and/or changing as few options as
> possible, and paying close attention to the results with legacy or
> generic configurations on new kernels. The more lenient, the better
> IMO, except where specific options require specific actions.
I agree with this... Being "backwards compatible" is imperative.
And allowing people to configure things to best fit their 
environment is something else we should maintain and possibly 
improve on...

steved.   

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

* RE: The next step: nfsvers=4
       [not found]               ` <49C382F1.6080205-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
@ 2009-03-20 18:50                 ` Muntz, Daniel
  2009-04-18  1:12                 ` Kevin Constantine
  1 sibling, 0 replies; 13+ messages in thread
From: Muntz, Daniel @ 2009-03-20 18:50 UTC (permalink / raw)
  To: Steve Dickson, Chuck Lever; +Cc: Benny Halevy, Linux NFS Mailing List

 

> -----Original Message-----
> From: Steve Dickson [mailto:SteveD@redhat.com] 
> Sent: Friday, March 20, 2009 4:50 AM
> To: Chuck Lever
> Cc: Benny Halevy; Linux NFS Mailing List
> Subject: Re: The next step: nfsvers=4
> 
> Chuck Lever wrote:
> > If no vers= is specified and only NFSv4 is available on the server, 
> > but something like "nocto" shows up on the command line 
> mount options, do we:
> > 
> > a) fail the mount, or
> > b) ignore the nocto option
> I would say ignore this particular option... since, in a 
> sense, v4 give you this option by default due to 
> delegations... but point well taken... The mapping of
> v3 to v4 and visa versa will have to be addressed... I would 
> guess in the mount command...  
>  
> > 
> > a) seems like the least surprising behavior.
> > 
> > What about "proto=udp" ?  Linux supports UDP for NFSv4, 
> though other 
> > server implementations probably don't.  If that's specified 
> on a mount 
> > command line without a vers= option, what version should we choose?
> I think people just want things to work... so if they specify 
> only UDP and the server supports V4, we give them V4/TCP. If 
> they REALLY want UDP, they would have to specify 'nfsvers=3,udp'.

But, and this is a poor example, they REALLY want v4 and UDP?  There
should be consistency in the way rules are applied.  If specifying
vers=x requires the mount to match version x exactly, then imho, proto=y
should only succeed with protocol y.  There should be a way for the user
to specify exactly what they want, and fail if they can't have it.
Similarly, if someone specifies sec=krb5p, you wouldn't want to fall
back to sec=sys :-)

> 
> Or, if there was an mount configuration file, they could 
> specify the MAX_VERSION to be 3 and then -o udp mounts work 
> as expected...
> 
> > 
> >> For implementing more complex policies, maybe we can extend the 
> >> command syntax to accept a range and/or an ordered list of 
> versions 
> >> to try.
> > 
> > Steve mentioned /etc/default/nfs on Solaris.  I could see 
> > /etc/sysconfig/nfs on Linux containing a couple of lines 
> defining the 
> > range of allowable NFS versions, if we think this is 
> necessary.  This 
> > is a simple pre-existing file, and has little potential for 
> > introducing negative side-effects.
> The /etc/sysconfig/nfs is a distro only file... Meaning I 
> know of only one distro that uses that file.. So I would tend 
> to shy away from putting anything in that... 
> 
> steved.
> --
> To unsubscribe from this list: send the line "unsubscribe 
> linux-nfs" in the body of a message to 
> majordomo@vger.kernel.org More majordomo info at  
> http://vger.kernel.org/majordomo-info.html
> 

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

* Re: The next step: nfsvers=4
       [not found]               ` <49c29203.85c2f10a.098d.17b5-ATjtLOhZ0NVl57MIdRCFDg@public.gmane.org>
  2009-03-20 11:55                 ` Steve Dickson
@ 2009-04-18  1:00                 ` Kevin Constantine
  1 sibling, 0 replies; 13+ messages in thread
From: Kevin Constantine @ 2009-04-18  1:00 UTC (permalink / raw)
  To: Tom Talpey
  Cc: Chuck Lever, Benny Halevy, Steve Dickson, Linux NFS Mailing List

Tom Talpey wrote:
> At 02:13 PM 3/19/2009, Chuck Lever wrote:
>> On Mar 19, 2009, at Mar 19, 2009, 1:33 PM, Benny Halevy wrote:
>>> I think that if no version is specified all versions that
>>> the client supports should be tried, highest first.
>>> Otherwise mount.nfs should try only the specified version.
>> One nit is that the set of mount options supported by nfs4 is  
>> different than the set supported by nfs.  clientaddr= is supported by  
>> nfs4, but not by nfs, for example.  I believe that nocto is not  
>> supported by nfs4.  The mountproto option is only supported by nfs.
>>
>> If no vers= is specified and only NFSv4 is available on the server,  
>> but something like "nocto" shows up on the command line mount options,  
>> do we:
>>
>> a) fail the mount, or
>> b) ignore the nocto option
>>
>> a) seems like the least surprising behavior.
> 
> I think the "sloppy" option might be relevant here too.
> 
> While we're on the subject of sloppy, what about the automounter?
> It has always been an issue to deploy automounter maps which are
> shared by diverse client populations - there are significant issues
> for older Linux clients, and newer Solaris ones for that matter, with
> NFSv4.
> 

I ran into this very situation today which caused me to go back through 
the archive and find this thread.  Hopefully it isn't too late to add my 
two cents.

I want to begin testing nfsv4 in our environment, we rely heavily on 
autofs, and have a mixed OS environment, and some servers support v4, 
while others don't.

Most clients should continue to mount with v3, while a few select test 
machines should mount with v4 if the server supports it.

OSX and (i think) Solaris seem to use fstype=nfs and [nfs]vers=2,3,4 to 
specify the nfs version.  Linux on the other hand, requires that I set 
fstype=nfs4, and will fail to mount if [nfs]vers is present.

If nfsvers was just ignored or better yet, was honored (if I set 
fstype=nfs, and nfsvers=4, I don't really care that you change fstype to 
nfs4 on me under the covers), it would eliminate one hurdle in the quest 
for a unified automount map (at least in our environment).

-kevin

> I would strongly suggest touching and/or changing as few options as
> possible, and paying close attention to the results with legacy or
> generic configurations on new kernels. The more lenient, the better
> IMO, except where specific options require specific actions.
> 
> Tom.
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: The next step: nfsvers=4
       [not found]               ` <49C382F1.6080205-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
  2009-03-20 18:50                 ` Muntz, Daniel
@ 2009-04-18  1:12                 ` Kevin Constantine
  1 sibling, 0 replies; 13+ messages in thread
From: Kevin Constantine @ 2009-04-18  1:12 UTC (permalink / raw)
  To: Steve Dickson; +Cc: Chuck Lever, Benny Halevy, Linux NFS Mailing List

Steve Dickson wrote:
> Chuck Lever wrote:
>> If no vers= is specified and only NFSv4 is available on the server, but
>> something like "nocto" shows up on the command line mount options, do we:
>>
>> a) fail the mount, or
>> b) ignore the nocto option
> I would say ignore this particular option... since, in a sense, v4 give you this option
> by default due to delegations... but point well taken... The mapping of
> v3 to v4 and visa versa will have to be addressed... I would guess in the mount
> command...  
>  
>> a) seems like the least surprising behavior.
>>
>> What about "proto=udp" ?  Linux supports UDP for NFSv4, though other
>> server implementations probably don't.  If that's specified on a mount
>> command line without a vers= option, what version should we choose?
> I think people just want things to work... so if they specify only UDP
> and the server supports V4, we give them V4/TCP. If they REALLY want 
> UDP, they would have to specify 'nfsvers=3,udp'.
> 
> Or, if there was an mount configuration file, they could specify the
> MAX_VERSION to be 3 and then -o udp mounts work as expected...
> 

I would agree that things should just work as much as possible.  I would 
think that the options that aren't applicable should be ignored, and the 
  values that are known to be incorrect should be fixed if possible. 
More likely than not, I care that my mount succeeds.  Once that happens, 
I begin to care how it succeeded, and can go figure out where I made a 
mistake and how I ended up with v4/tcp when I really wanted udp and 
didn't care which nfs version I use.

>>> For implementing more complex policies, maybe we can extend
>>> the command syntax to accept a range and/or an ordered list
>>> of versions to try.
>> Steve mentioned /etc/default/nfs on Solaris.  I could see
>> /etc/sysconfig/nfs on Linux containing a couple of lines defining the
>> range of allowable NFS versions, if we think this is necessary.  This is
>> a simple pre-existing file, and has little potential for introducing
>> negative side-effects.

I like the idea of having a file that allows me to specify or default 
values, or acceptable ranges for the various mount options.  I'd also 
like to be able to specify overrideable options in the automount maps 
where the right-most option wins.

-kevin

> The /etc/sysconfig/nfs is a distro only file... Meaning I know of only 
> one distro that uses that file.. So I would tend to shy away from putting
> anything in that... 
> 
> steved.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2009-04-18  1:12 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-19 16:18 The next step: nfsvers=4 Steve Dickson
     [not found] ` <49C2704F.5050303-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-03-19 16:34   ` Muntz, Daniel
     [not found]     ` <7A24DF798E223B4C9864E8F92E8C93EC026043D3-hX7t0kiaRRpT+ZUat5FNkAK/GNPrWCqfQQ4Iyu8u01E@public.gmane.org>
2009-03-19 16:43       ` Chuck Lever
2009-03-19 16:50         ` Steve Dickson
2009-03-19 17:33         ` Benny Halevy
2009-03-19 18:13           ` Chuck Lever
2009-03-19 18:41             ` Tom Talpey
     [not found]               ` <49c29203.85c2f10a.098d.17b5-ATjtLOhZ0NVl57MIdRCFDg@public.gmane.org>
2009-03-20 11:55                 ` Steve Dickson
2009-04-18  1:00                 ` Kevin Constantine
2009-03-20 11:50             ` Steve Dickson
     [not found]               ` <49C382F1.6080205-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-03-20 18:50                 ` Muntz, Daniel
2009-04-18  1:12                 ` Kevin Constantine
2009-03-19 16:43     ` Steve Dickson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox