public inbox for linux-nfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Chuck Lever <chuck.lever@oracle.com>
To: Steve Dickson <SteveD@redhat.com>
Cc: linux-nfs@vger.kernel.org, Neil Brown <neilb@suse.de>
Subject: Re: [nfs-utils PATCH] retry on EPERM from NFSv4 mount attempt
Date: Mon, 30 Nov 2009 12:52:54 -0500	[thread overview]
Message-ID: <3602FF45-7293-49E2-BC06-F3BEBF83FD94@oracle.com> (raw)
In-Reply-To: <4B1403CA.8050107-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>

On Nov 30, 2009, at 12:41 PM, Steve Dickson wrote:
> On 11/30/2009 11:43 AM, Chuck Lever wrote:
>> On Nov 30, 2009, at 8:11 AM, Steve Dickson wrote:
>>> Sorry for the delayed response, I took some time off...
>>>
>>> On 11/24/2009 09:29 AM, Steve Dickson wrote:
>>>>
>>>>
>>>> On 11/23/2009 06:32 PM, Neil Brown wrote:
>>>>>
>>>>> Hi,
>>>>> I recently packaged nfs-utils 1.2.1 for openSUSE and fairly  
>>>>> quickly
>>>>> got a bug report - "-o nfsvers=3" was needed to mount NFSv3
>>>>> filesystems.
>>>>>
>>>>> mount.nfs in 1.2.1 will first try a v4 mount but will fall-back  
>>>>> to v3
>>>>> if it gets ENOENT.  This works fine.
>>>>> However for kernel prior to 2.6.25, you don't get ENOENT, you get
>>>>> EPERM.
>>>>> In that case the fall-back to v3 doesn't happen and you get a  
>>>>> failure
>>>>> to mount.
>>>>>
>>>>> So I think we need to fall back on EPERM as well.  See below.
>>>> I already posted this patch on the v4 mailing list
>>>> http://linux-nfs.org/pipermail/nfsv4/2009-November/011595.html
>>>> but it got shot down...  at least that's how I interpreted the
>>>> responses...
>>>>
>>>> But I do thing we need this, since there are so many server
>>>> that will simple break if we don't... Agreed?
>>>
>>> There appears to be a consensus that we need to do something
>>> but no agreement on what....
>>>
>>> I believe the options are:
>>>  1) Start servers with '-N 4' when there is no root configured.
>>>     * The problem I see with this is, in the event v4 support is  
>>> wanted
>>>       its yet another configuration knob that has to be turned,
>>> basically
>>>       making it more difficult for people use v4.
>>>
>>>  2) Change the kernel to return NFS4ERR_SERVERFAULT when there is no
>>>     root configured.
>>>     * I see this is yet another errno the mounting code has to deal
>>> with..
>>>       We are up to two errnos, do we really want to add a third?
>>>
>>> Neither one of these solutions deal with legacy servers or move
>>> the "v4 technology" forward... IMHO...
>>
>> To quote Yoda, "No.  There is another."
>>
>> Distributions can choose to revert the recently added behavior which
>> makes mount.nfs try vers=4 by default.  That's what the mount config
>> file is for, yes?  That seems like a responsible choice, given the
>> number of legacy servers still in the field.
> Yes... That was the main reason for the configuration file.
>
>> At some later point (say, when your pseudoroot work is more widely
>> deployed), distributions can make vers=4 the default as shipped  
>> simply
>> by flipping a switch in the mount config file.  For now, the default
>> behavior stays the same, with an option for individual sites to try
>> something new.  In my opinion, default behavior out of the shrinkwrap
>> should always be the behavior most likely to work in any  
>> environment --
>> principle of least surprise, and all that sort of thing.
> Not matter how or when we flip the switch, we'll have to deal
> with the legacy servers...

Well, the point of waiting would be so that the proportion of legacy  
servers would become relatively insignificant.  And, a number of  
reasonable longer term solutions which have been proposed here could  
be deployed in the meantime.

>> This seems like the way we normally deploy new features like this,  
>> and
>> would give the many very recent changes in mount.nfs more soak time  
>> with
>> early adopters before we force them on everyone.
> Take a look at the Fedora 12... Its set up exactly as you just  
> described
> with only difference vers=3 is set in the configuration file...

Perhaps that should be the upstream default as well, for now, so other  
distributors aren't taken by surprise when they update to 1.2.1.  Just  
a thought.

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





  parent reply	other threads:[~2009-11-30 17:53 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-23 23:32 [nfs-utils PATCH] retry on EPERM from NFSv4 mount attempt Neil Brown
     [not found] ` <19211.7054.291514.185591-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
2009-11-24 14:29   ` Steve Dickson
     [not found]     ` <4B0BEDDB.1010203-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-11-24 20:56       ` J. Bruce Fields
2009-11-24 21:19         ` Peter Staubach
2009-11-24 21:51         ` Neil Brown
     [not found]           ` <20091125085122.316f4eb3-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
2009-11-24 21:58             ` Peter Staubach
2009-11-24 22:22               ` Neil Brown
     [not found]                 ` <20091125092227.77735d5a-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
2009-11-24 22:29                   ` Peter Staubach
2009-11-24 22:54                     ` J. Bruce Fields
2009-11-24 22:58                   ` Trond Myklebust
2009-11-30 13:11       ` Steve Dickson
     [not found]         ` <4B13C48E.5020009-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-11-30 16:43           ` Chuck Lever
2009-11-30 17:41             ` Steve Dickson
     [not found]               ` <4B1403CA.8050107-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2009-11-30 17:52                 ` Chuck Lever [this message]
2009-11-30 18:12                   ` Steve Dickson
2009-11-30 18:18           ` J. Bruce Fields
2009-11-30 21:59             ` Neil Brown
     [not found]               ` <20091201085916.7c1bb644-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
2009-11-30 22:13                 ` J. Bruce Fields
2009-12-07 22:27   ` Steve Dickson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3602FF45-7293-49E2-BC06-F3BEBF83FD94@oracle.com \
    --to=chuck.lever@oracle.com \
    --cc=SteveD@redhat.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=neilb@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox