NFS negative name caching and amd

Richard Perini rpp at ci.com.au
Fri Jan 2 06:37:31 UTC 2015


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


More information about the freebsd-stable mailing list