svn commit: r209948 - head/sys/nfsclient

John Baldwin jhb at freebsd.org
Mon Jul 12 15:08:46 UTC 2010


On Monday, July 12, 2010 10:27:49 am John Baldwin wrote:
> Author: jhb
> Date: Mon Jul 12 14:27:49 2010
> New Revision: 209948
> URL: http://svn.freebsd.org/changeset/base/209948
> 
> Log:
>   A previous change moved the GETATTR RPC for open() calls that hit in the
>   name cache up into nfs_lookup() instead of nfs_open().  Continue this
>   trend by flushing the attribute cache for leaf nodes in nfs_lookup() during
>   an open() if we do a LOOKUP RPC.  For NFSv3 this should generally be a NOP
>   as the attributes are flushed before fetching the post-op attributes from
>   the LOOKUP RPC which most (all?) NFSv3 servers provide, so the post-op
>   attributes should populate the cache.
>   
>   Now all NFS open() calls will always clear the cached attributes during the
>   nfs_lookup() prior to nfs_open() in the !NMODIFIED case to provide CTOC.
>   As a result, we can remove the conditional flushing of the attribute
>   cache from nfs_open().

One benefit is that we can now remove td_syscalls which added extra overhead
to each system call.

-- 
John Baldwin


More information about the svn-src-all mailing list