From 9260481d50f0758285a0823575874b37738f9284 Mon Sep 17 00:00:00 2001 From: kib Date: Sat, 11 Apr 2009 16:12:20 +0000 Subject: When zapping v_cache_dd for !MAKEENTRY case in cache_lookup(), we shall lock cache as writer. Reviewed by: kan --- sys/kern/vfs_cache.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'sys/kern/vfs_cache.c') diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 6172f5b..8210126 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -410,6 +410,8 @@ retry_wlocked: goto unlock; } if ((cnp->cn_flags & MAKEENTRY) == 0) { + if (!wlocked && !CACHE_UPGRADE_LOCK()) + goto wlock; if (dvp->v_cache_dd->nc_flag & NCF_ISDOTDOT) cache_zap(dvp->v_cache_dd); dvp->v_cache_dd = NULL; -- cgit v1.1