Date: Fri, 2 Jan 2015 17:28:16 +1100 From: Richard Perini <rpp@ci.com.au> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-stable@freebsd.org Subject: Re: NFS negative name caching and amd Message-ID: <20150102062816.GA94333@odi.ci.com.au> In-Reply-To: <2226907.ffl2dAmvtd@ralph.baldwin.cx> References: <20141221102746.GA11278@odi.ci.com.au> <201412221004.48504.jhb@freebsd.org> <20141222232527.GA52306@odi.ci.com.au> <2226907.ffl2dAmvtd@ralph.baldwin.cx>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Dec 28, 2014 at 11:27:29AM -0500, John Baldwin wrote: > On Tuesday, December 23, 2014 10:25:27 AM Richard Perini wrote: > > I just ran up autofs and automountd on 10-stable, set the negnametimeo > > option in auto_master and it works a treat. However it will be quite > > some time before we're able to shift off 9 which leaves us with the > > kernel option as the easiest path. > > > > I'd point out that the nfs client code in > > /usr/src/sys/fs/nfsclient/nfsmount.h is already coded to allow override: > > > > ifndef NFS_DEFAULT_NEGNAMETIMEO > > #define NFS_DEFAULT_NEGNAMETIMEO 60 > > #endif > > > > so all that is required is the entry in the "options" file. Naturally > > we can add that ourselves (the beauty of open source :-) but it would > > be the only change to the native FreeBSD code for us, so of course > > we'd prefer to see it in the tree. > > > > Regards, and compliments of the season. > > I think for the future (10.x and later) the autofs solution is preferred, > so the option would be unused if added to HEAD. (I also think setting it > via autofs is preferable as it is better documented and is more fine-grained > since it is per-mount.) Given that, I would only add the option on 9.x. > However, I think there's another route you can use to set this option using a > stock source tree. First, you could set COPTFLAGS in /etc/src.conf and add > '-DNFS_DEFAULT_NEGNAMETIMEO=0' to it (e.g. set COPTFLAGS to > "-O2 -pipe -D<blah"). Second, you could add the compiler directive to > the 'DEBUG' line in your kernel config since that is added to CFLAGS, so if > you have this in your config file: > > makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols > > you can add: > > makeoptions DEBUG+=-DNFS_DEFAULT_NEGNAMETIMEO=0 # Disable -ve name caching Thanks John, The makeoptions magic is the route we'll take. It was the solution I was looking for when I encountered the options file. --R
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150102062816.GA94333>