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
next prev 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