]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Cache_lookup() for DOTDOT drops dvp vnode lock, allowing dvp to be reclaimed.
authorKonstantin Belousov <kib@FreeBSD.org>
Fri, 10 Apr 2009 10:22:44 +0000 (10:22 +0000)
committerKonstantin Belousov <kib@FreeBSD.org>
Fri, 10 Apr 2009 10:22:44 +0000 (10:22 +0000)
commit3f54086eba4a1df9981cee3e8f94a3b2b652c205
tree1d4aba80f8d00165dcc019427b677a38db46a9e7
parent6d7e80912385a084d2634e557751d8a4e025a8aa
Cache_lookup() for DOTDOT drops dvp vnode lock, allowing dvp to be reclaimed.
Check the condition and return ENOENT then.

In nfs_lookup(), respect ENOENT return from cache_lookup() when it is caused
by dvp reclaim.

Reported and tested by: pho
sys/kern/vfs_cache.c
sys/nfsclient/nfs_vnops.c