From owner-freebsd-fs@FreeBSD.ORG Mon May 7 23:40:25 2012 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A0ADE106564A for ; Mon, 7 May 2012 23:40:25 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from esa-annu.mail.uoguelph.ca (esa-annu.mail.uoguelph.ca [131.104.91.36]) by mx1.freebsd.org (Postfix) with ESMTP id 5A73B8FC0A for ; Mon, 7 May 2012 23:40:25 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ap4EAEdcqE+DaFvO/2dsb2JhbABEhXKuPYIMAQEEASNWGw4KAgINGQJZBhyIAAULqA6Se4EviVCEcYEYBJV+kEKDBQ X-IronPort-AV: E=Sophos;i="4.75,546,1330923600"; d="scan'208";a="168310392" Received: from erie.cs.uoguelph.ca (HELO zcs3.mail.uoguelph.ca) ([131.104.91.206]) by esa-annu-pri.mail.uoguelph.ca with ESMTP; 07 May 2012 19:40:18 -0400 Received: from zcs3.mail.uoguelph.ca (localhost.localdomain [127.0.0.1]) by zcs3.mail.uoguelph.ca (Postfix) with ESMTP id 215D1B4031; Mon, 7 May 2012 19:40:18 -0400 (EDT) Date: Mon, 7 May 2012 19:40:18 -0400 (EDT) From: Rick Macklem To: Andrey Simonenko Message-ID: <1357768784.50127.1336434018113.JavaMail.root@erie.cs.uoguelph.ca> In-Reply-To: <20120507174813.GA5927@pm513-1.comsys.ntu-kpi.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [172.17.91.201] X-Mailer: Zimbra 6.0.10_GA_2692 (ZimbraWebClient - FF3.0 (Win)/6.0.10_GA_2692) Cc: freebsd-fs@freebsd.org Subject: Re: NFSv4 Questions X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 May 2012 23:40:25 -0000 Andrey Simonenko wrote: > On Sun, Apr 29, 2012 at 04:36:03PM -0400, Rick Macklem wrote: > > > > Also, be sure to check "man nfsv4" and maybe reference it (it is > > currently > > in the See Also list, but that might not be strong enough). > > There is another question not explained in documentation (I could not > find the answer at least). Currently NFSv3 client uses reserved port > for NFS mounts and uses non reserved port if "noresvport" is > specified. > NFSv4 client always uses non reserved port, ignoring the "resvport" > option in the mount_nfs command. > > Such behaviour of NFS client was introduced in 1.18 version of > fs/nfsclient/nfs_clvfsops.c [1], where the "resvport" flag is cleared > for NFSv4 mounts. > > Why does "reserved port logic" differ in NFSv3 and NFSv4 clients? > It is my understanding that NFSv4 servers are not supposed to require a "reserved" port#. However, at a quick glance, I can't find that stated in RFC 3530. (It may be implied by the fact that NFSv4 uses a "user" based security model and not a "host" based one.) As such, the client should never need to "waste" a reserved port# on a NFSv4 connection. rick > > > If I may, perhaps a switch in /etc/rc.conf: > > > nfsv4_only="YES" > > > > > I might call it nfsv4_server_only, but sounds like a good > > suggestion. > > > > > This would set the -nfsv4-only switch you mention for mountd, and > > > it > > > would set vfs.nfsd.server_min_nfsvers=4 > > > > > It could also be used by /etc/rc.d/mountd to indicate "don't force > > rpcbind". > > > > I'm sure that you know all these, but let me add some comments. > > 1. Using server_min_nfsvers and server_max_nfsvers are global settings > and do not allow to make one file system NFSv2/3/4 exported and > another > one NFSv4 exported only for example. > > 2. MOUNT protocol is not used only for MNT/UMNT/UMNTALL requests from > NFSv2/3 clients. As I know some automounters use MOUNT EXPORT requests > to get information about exported file systems. So, MOUNT protocol > can be usefull for somebody who uses NFSv4 only. > > Both items have something common. There should be options that enable/ > disables NFSv2, NFSv3 and/or NFSv4 per address specification and/or > per > file system. And there should be the option that allows to disable the > MOUNT protocol entirely, some of its versions or some of its > netconfigs > (some of visible netconfigs that can be used by the MOUNT protocol). > > [1] > http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/fs/nfsclient/nfs_clvfsops.c.diff?r1=1.17;r2=1.18