Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 May 2011 19:00:49 -0400 (EDT)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@des.no>
Cc:        svn-src-head@freebsd.org, Rick Macklem <rmacklem@FreeBSD.org>, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r221124 - in head: . sbin/mount sbin/mount_nfs sys/amd64/conf sys/fs/nfsclient sys/i386/conf sys/ia64/conf sys/nfsclient sys/pc98/conf sys/powerpc/conf sys/sparc64/conf sys/sun4v/conf
Message-ID:  <134917667.1082867.1304636449048.JavaMail.root@erie.cs.uoguelph.ca>
In-Reply-To: <86r58dqett.fsf@ds4.des.no>

next in thread | previous in thread | raw e-mail | index | archive | help
> Rick Macklem <rmacklem@uoguelph.ca> writes:
> > Well, another way it could be handled would be to put the sysctls
> > and
> > the global variables they manipulate in a module shared by both
> > clients,
> > like sys/nfs/nfs_lock.c (module "nfslock"). Then the same sysctl
> > would
> > affect both clients. (I hesitate to create "yet another" module just
> > to share the sysctls, but since "nfslock" is used by both clients,
> > it
> > should work ok, I think.)
> 
> I don't understand why you would want to do that. Can't you just
> change
> "oldnfs" back to "nfs" in the old stack?
> 
I'm not sure what you are saying. W.r.t. the SYSCTL() naming,
the old NFS client is currently using vfs.nfs.xxx and the new
NFS client is using vfs.newnfs.xxx.

If you are referring to the fstype names, then switching "oldnfs"
back to "nfs" means the new one has to change to something other
than "nfs", like "newnfs". The whole idea of changing "newnfs"->"nfs"
was to make it the default and get it more widely tested/used.
(Presumably, if the new NFS works well, it would eventually become
the only one, but I don't see that happening until FreeBSD10 at the
earliest.)

The problem is w.r.t. the SYSCTL() naming. I could make vfs.newnfs.xxx
use vfs.nfs.xxx and vfs.nfs.xxx->vfs.oldnfs.xxx quite easily. The problem
would be that people couldn't as easily use "oldnfs" instead of "nfs".
(At least for cases where setting sysctls matter.)

What I was proposing is have the two clients share the vfs.nfs.xxx name
space, since most of the SYSCTL()s use the same name and do the same
thing. For example, now there is:

vfs.nfs.bufpackets: 4
vfs.newnfs.bufpackets: 4

and /etc/rc.d/nfsclient wants to fiddle with vfs.nfs.bufpackets.

I was proposing that the two clients share

vfs.nfs.bufpackets

Make sense now?
(I understood that you felt having both vfs.nfs.xxx and vfs.newnfs.xxx
 made maintaining the scripts awkward.)

rick



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?134917667.1082867.1304636449048.JavaMail.root>