Re: [RFC PATCH V2] mount: Added the -o v4.1 mount option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Nov 19, 2012, at 1:29 PM, "Myklebust, Trond" <Trond.Myklebust@xxxxxxxxxx> wrote:

> On Mon, 2012-11-19 at 13:11 -0500, Chuck Lever wrote:
>> On Nov 19, 2012, at 11:24 AM, "Myklebust, Trond" <Trond.Myklebust@xxxxxxxxxx> wrote:
>> 
>>> On Mon, 2012-11-19 at 11:14 -0500, Steve Dickson wrote:
>>>> 
>>>> On 19/11/12 11:02, Myklebust, Trond wrote:
>>>>> On Mon, 2012-11-19 at 10:58 -0500, Steve Dickson wrote:
>>>>>> 
>>>>>> On 19/11/12 10:54, Myklebust, Trond wrote:
>>>>>>> On Mon, 2012-11-19 at 10:43 -0500, Steve Dickson wrote:
>>>>>>>> This patch will convert -o v4.1, vers=4.1 or nfsvers=4.1 into
>>>>>>>> the corresponding "v4,minorversion=1", "vers=4,minorversion=1"
>>>>>>>> or "nfsvers=4,minorversion=1" options.
>>>>>>>> 
>>>>>>> 
>>>>>>> NACK.
>>>>>>> 
>>>>>>> If you are going to do this, then please do it only for kernels that
>>>>>>> don't support the "vers=4.1" syntax. i.e. anything older than Linux-3.4.
>>>>>> This is the intention... 
>>>>>> 
>>>>>>> 
>>>>>>> We want to get rid of minorversion=x, not perpetuate it...
>>>>>>> 
>>>>>> Understood... But that is not option in some worlds... ;-) 
>>>>> 
>>>>> Sure it is. The mount program can continue to parse minorversion= after
>>>>> it is gone from the kernel and convert it into the vers=4.x syntax.
>>>>> 
>>>> Basically what I'm doing now, with the exception of not adding
>>>> the minorversion=1 options... 
>>>> 
>>>> BTW, there is a bug in the -o v4.1 current logic... 
>>>> 
>>>> mount -o v4.1 produces both "v4.1,vers=4,..." in the string that given
>>>> to the kernel which does not seem right... I would assume just a "v4.1,.."
>>>> should be pumped down.. 
>>> 
>>> Yes. I remember seeing that in the Bakeathon tests... I agree that we
>>> just need the vers=4.1. The extra 'vers=4' isn't harmful in that the
>>> kernel won't interpret it as vers=4.0, but it would be nice to get rid
>>> of it.
>>> 
>>> Essentially, the plan is that some time in the future we will want to
>>> have 'vers=4' be the 'auto-negotiate minor version' syntax, while
>>> vers=4.x will be the 'use minor version x' syntax.
>>> Of course, auto-negotiation should be driven by the 'mount' program,
>>> which will be using the 'vers=4.x' syntax in the mount system call, for
>>> various values of 'x', until it achieves success.
>> 
>> Interesting.  I assume you want "mount.nfs" to do this to allow some kind of auto-negotiation policy to be specified (say, via the mount command configuration file).
> 
> Right. I'd like to be able to set Defaultvers=4.1 in /etc/nfsmount.conf
> and have it work.
> 
>> As a design precursor, can you speculate on how the mount command would go about negotiating the minor version?  mount.nfs cannot use protocol versions advertised by rpcbind, for instance, and neither can a simple NULL request identify which minor versions are available on the server.
> 
> Note that the mount command should in any case not be relying on rpcbind
> to decide whether or not the server supports NFSv4.
> 
> As for minor version negotiation, RFC3530 already tells you how to do
> this: the client has to start with the highest version that it supports,
> and then walk that number down until the server stops replying with
> NFS4ERR_MINOR_VERS_MISMATCH.
> 
> Note that if you want to do this in userland before calling the mount
> syscall, then the spec does allow you to "ping" the NFSv4 server with an
> empty COMPOUND.

I see: not an NFSv4 NULL, but an NFSv4 COMPOUND that has no operations.  That carries a compound header, which would have the minor version number in it.

-- 
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@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux