<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test/sys/kern/vfs_cache.c, branch stable/7</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test/atom?h=stable%2F7</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test/atom?h=stable%2F7'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/'/>
<updated>2016-02-02T19:29:29Z</updated>
<entry>
<title>Return the timestamps from the corresponding namecache entry on a negative</title>
<updated>2016-02-02T19:29:29Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2016-02-02T19:29:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=546d648266fdaaa364294be44359fd13ff6f9f7f'/>
<id>urn:sha1:546d648266fdaaa364294be44359fd13ff6f9f7f</id>
<content type='text'>
namecache hit.  This was ommitted due to a merging error in r238913.  The
effect was to usually break caching of negative name lookups in the NFS
client.

Submitted by:	bde
</content>
</entry>
<entry>
<title>MFC 194358,230394,230441,230489,230552,232116,232420:</title>
<updated>2012-07-30T19:05:41Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2012-07-30T19:05:41Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=2e89c94eaa744b214d8f3a7180c3825152dfafe2'/>
<id>urn:sha1:2e89c94eaa744b214d8f3a7180c3825152dfafe2</id>
<content type='text'>
- For dotdot lookup in nfs_lookup, inline the vn_vget_ino() to prevent
  operating on the unmounted mount point and freed mount data in case of
  forced unmount performed while dvp is unlocked to nget the target vnode.
- Close a race in NFS lookup processing that could result in stale name cache
  entries on one client when a directory was renamed on another client.  The
  root cause for the stale entry being trusted is that each per-vnode nfsnode
  structure has a single 'n_ctime' timestamp used to validate positive name
  cache entries.  However, if there are multiple entries for a single vnode,
  they all share a single timestamp.  To fix this, extend the name cache
  to allow filesystems to optionally store a timestamp value in each name
  cache entry.  The NFS clients now fetch the timestamp associated with
  each name cache entry and use that to validate cache hits instead of the
  timestamps previously stored in the nfsnode.  Another part of the fix is
  that the NFS clients now use timestamps from the post-op attributes of
  RPCs when adding name cache entries rather than pulling the timestamps out
  of the file's attribute cache.  The latter is subject to races with other
  lookups updating the attribute cache concurrently.
- Adjust the nfs_skip_wcc_data_onerr setting so that it does not block
  post-op attributes for ENOENT errors now that the name caching logic
  depends on working post-op attributes.

Tested by:	Mark Saad  nonesuch longcount org
</content>
</entry>
<entry>
<title>MFC r206671:</title>
<updated>2010-04-18T04:49:07Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2010-04-18T04:49:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=f4e8785eb4952e053ab3964ad294c2197e25be4e'/>
<id>urn:sha1:f4e8785eb4952e053ab3964ad294c2197e25be4e</id>
<content type='text'>
Fix typo.
</content>
</entry>
<entry>
<title>MFC: Add caching of -ve lookups to the NFS client.  To prevent clients from</title>
<updated>2009-05-15T20:36:54Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2009-05-15T20:36:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=a43e11c99c1375e73805e23c14866f5c8179b977'/>
<id>urn:sha1:a43e11c99c1375e73805e23c14866f5c8179b977</id>
<content type='text'>
not noticing new files created by another client for a "long" time, reduce
the default timeout for caching attributes of directories from 30 seconds
to 3 seconds.
</content>
</entry>
<entry>
<title>MFC: When a file lookup fails due to encountering a doomed vnode from a</title>
<updated>2009-05-04T21:58:32Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2009-05-04T21:58:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=cdc332da614786472df7d803990e077967fcae05'/>
<id>urn:sha1:cdc332da614786472df7d803990e077967fcae05</id>
<content type='text'>
forced unmount, consistently return ENOENT rather than EBADF.
</content>
</entry>
<entry>
<title>MFC r191218 and related backout r191220.</title>
<updated>2009-04-17T21:10:53Z</updated>
<author>
<name>Alexander Kabaev</name>
<email>kan@FreeBSD.org</email>
</author>
<published>2009-04-17T21:10:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=099cfe7ae9f581565a6c5e872b425129fc5235f9'/>
<id>urn:sha1:099cfe7ae9f581565a6c5e872b425129fc5235f9</id>
<content type='text'>
More fallout from negative dotdot caching. Negative entries should
be removed from and reinserted to proper ncneg list.

Reported by:	pho
Submitted by:	kib
Approved by:	re (kib)
</content>
</entry>
<entry>
<title>MFC r191081-191082:</title>
<updated>2009-04-15T16:05:25Z</updated>
<author>
<name>Alexander Kabaev</name>
<email>kan@FreeBSD.org</email>
</author>
<published>2009-04-15T16:05:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=dc34b7e1da15f05b04720b182d5d0a23ae0ff48a'/>
<id>urn:sha1:dc34b7e1da15f05b04720b182d5d0a23ae0ff48a</id>
<content type='text'>
Properly handle negative cache enries found through dotdot lookups.

Submitted by:	tor
Approved by:	re(kib)
</content>
</entry>
<entry>
<title>MFC changes 190533 and 190945:</title>
<updated>2009-04-12T19:41:16Z</updated>
<author>
<name>Alexander Kabaev</name>
<email>kan@FreeBSD.org</email>
</author>
<published>2009-04-12T19:41:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=99e72b7f3b0cb01b7f3d3b4cf8970bebaf7abf60'/>
<id>urn:sha1:99e72b7f3b0cb01b7f3d3b4cf8970bebaf7abf60</id>
<content type='text'>
Replace v_dd vnode pointer with v_cache_dd pointer to struct namecache
in directory vnodes. Allow namecache dotdot entry to be created pointing
from child vnode to parent vnode if no existing links in opposite
direction exist. Use direct link from parent to child for dotdot lookups
otherwise.

This restores more efficient dotdot caching in NFS filesystems which
was lost when vnodes stoppped being type stable.

Majority of backporting work for this was done by jhb.

Reviewed by:	jhb, kib
Approved by:	re (kib)
</content>
</entry>
<entry>
<title>MFC r187460: Add a limit on namecache entries.</title>
<updated>2009-04-08T04:30:16Z</updated>
<author>
<name>Stephen McKay</name>
<email>mckay@FreeBSD.org</email>
</author>
<published>2009-04-08T04:30:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=07a63855b62c985a19348981ca07d681f88e095b'/>
<id>urn:sha1:07a63855b62c985a19348981ca07d681f88e095b</id>
<content type='text'>
Approved by: re (kib)
</content>
</entry>
<entry>
<title>MFC r190141:</title>
<updated>2009-03-27T13:05:29Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2009-03-27T13:05:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=17cbd3654e58330f4fdd61d34298ba275bf37e23'/>
<id>urn:sha1:17cbd3654e58330f4fdd61d34298ba275bf37e23</id>
<content type='text'>
When ktracing namei operations, log a result of the __getcwd().

Approved by:	re (kensmith)
</content>
</entry>
</feed>
