diff options
author | Alexander Kabaev <kan@FreeBSD.org> | 2009-04-14 23:56:48 +0000 |
---|---|---|
committer | Alexander Kabaev <kan@FreeBSD.org> | 2009-04-14 23:56:48 +0000 |
commit | 9cf67722113c7234f16648e81d364cacbf96e4d3 (patch) | |
tree | b0b5aab86814fb84115d4f207b4aefe2e61260d5 /sys/kern/vfs_cache.c | |
parent | eed8a9edba9b575407339b17e8770e76bc455d15 (diff) | |
download | src-9cf67722113c7234f16648e81d364cacbf96e4d3.tar.gz src-9cf67722113c7234f16648e81d364cacbf96e4d3.zip |
Redo previous change using simpler patch that happens to be also
more correct.
Submitted by: tor
Notes
Notes:
svn path=/head/; revision=191082
Diffstat (limited to 'sys/kern/vfs_cache.c')
-rw-r--r-- | sys/kern/vfs_cache.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index f00307cc7b95..a541d76743d1 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -423,15 +423,8 @@ retry_wlocked: *vpp = dvp->v_cache_dd->nc_dvp; /* Return failure if negative entry was found. */ if (*vpp == NULL) { - numneghits++; - nchstats.ncs_neghits++; - SDT_PROBE(vfs, namecache, lookup, hit_negative, - dvp, "..", 0, 0, 0); - if (wlocked) - CACHE_WUNLOCK(); - else - CACHE_RUNLOCK(); - return (ENOENT); + ncp = dvp->v_cache_dd; + goto negative_success; } CTR3(KTR_VFS, "cache_lookup(%p, %s) found %p via ..", dvp, cnp->cn_nameptr, *vpp); @@ -486,6 +479,7 @@ retry_wlocked: goto success; } +negative_success: /* We found a negative match, and want to create it, so purge */ if (cnp->cn_nameiop == CREATE) { numnegzaps++; |