Skip site navigation (1)Skip section navigation (2)
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>