Re: RFC: changing the default NFSv4 minor version?

From: Rick Macklem <rmacklem_at_uoguelph.ca>
Date: Sat, 15 May 2021 01:29:01 +0000
Rodney W. Grimes wrote:
[stuff snipped]
>Daniel Ebdrup Jensen wrote:
>> Hi Rick,
>>
>>       If I understand your plans correctly, you're not going to be making
>>       it so that minorversion=N complains?
>
>Ah, I think that if you specify a minorversion and the server
>does not support that minorversion it SHOULD complain.
Yes. The mount attempt currently fails with "minor version not supported"
when the minor version is not supported by the server.
My plan would not change this when "minorversion=N" is specified.

>  Only
>if when a minorversion has NOT been specified should it silently
>use the highest common version.
Yes, that's my plan.

>>
>>       In that case, I don't quite understand how it can be a POLA
>>       violation, since presumably it'll fall back to NFSv4.0 if that's
>>       the only thing that's supported by ntpd on some other system.
>
>Ignoring the ntpd typo, I think ricks concern on POLA is that currently
>in FreeBSD if you do NOT specify any minor version you get v4.0 and
>only v4.0 even if both sides support v4.2, so with his change things
>are suddenly going to change, that may astonish some.
Yes.

>>
>>       At any rate, I'm all for it since I'm already using NFSv4.2. :)
>
>I support this change with the caveats that it only occurs if the
>minorversion is unspecified and this same negotiation logic is
>applied to both server and client.  (Ie, if I spec a minorversion
>on the server it is no longer free to negotiate any other version,
>IE if I spec 1 it should *NOT* drop to 0.  It may mean minorversion
>becomes minorversions or highestminor?    So that I can make a
>server that allows minor={0,1} or even {1,2}, ie I in that second
>case I want it to NOT use a minor=0 mount.
The server end is passive. It either supports the minor version specified
in the RPC by the client and performs the RPC or it replies NFS4ERR_MINOR_VERSION_MISMATCH if it does not support it.
The FreeBSD server already has sysctls:
vfs.nfsd.server_min_minorversion4
vfs.nfsd.server_max_minorversion4
that allows a sysadmin to limit the minor versions supported.

I think this satisfies your server requirement?

rick

> Yours,
> Daniel Ebdrup Jensen
--
Rod Grimes                                                 rgrimes_at_freebsd.org
_______________________________________________
freebsd-current_at_freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"


Received on Fri May 14 2021 - 23:29:11 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:28 UTC