NFS negative name caching and amd
John Baldwin
jhb at freebsd.org
Sun Dec 28 16:29:01 UTC 2014
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
--
John Baldwin
More information about the freebsd-stable
mailing list