svn commit: r191106 - in stable/7/sys: . contrib/pf dev/ath/ath_hal
dev/cxgb kern
Alexander Kabaev
kan at FreeBSD.org
Wed Apr 15 09:05:27 PDT 2009
Author: kan
Date: Wed Apr 15 16:05:25 2009
New Revision: 191106
URL: http://svn.freebsd.org/changeset/base/191106
Log:
MFC r191081-191082:
Properly handle negative cache enries found through dotdot lookups.
Submitted by: tor
Approved by: re(kib)
Modified:
stable/7/sys/ (props changed)
stable/7/sys/contrib/pf/ (props changed)
stable/7/sys/dev/ath/ath_hal/ (props changed)
stable/7/sys/dev/cxgb/ (props changed)
stable/7/sys/kern/vfs_cache.c
Modified: stable/7/sys/kern/vfs_cache.c
==============================================================================
--- stable/7/sys/kern/vfs_cache.c Wed Apr 15 15:02:37 2009 (r191105)
+++ stable/7/sys/kern/vfs_cache.c Wed Apr 15 16:05:25 2009 (r191106)
@@ -370,6 +370,11 @@ retry:
*vpp = dvp->v_cache_dd->nc_vp;
else
*vpp = dvp->v_cache_dd->nc_dvp;
+ /* Return failure if negative entry was found. */
+ if (*vpp == NULL) {
+ ncp = dvp->v_cache_dd;
+ goto negative_success;
+ }
CTR3(KTR_VFS, "cache_lookup(%p, %s) found %p via ..",
dvp, cnp->cn_nameptr, *vpp);
goto success;
@@ -416,6 +421,7 @@ retry:
goto success;
}
+negative_success:
/* We found a negative match, and want to create it, so purge */
if (cnp->cn_nameiop == CREATE) {
numnegzaps++;
More information about the svn-src-stable
mailing list