svn commit: r187362 - in stable/7/sys: . contrib/pf dev/cxgb kern
Konstantin Belousov
kib at FreeBSD.org
Sat Jan 17 06:31:43 PST 2009
Author: kib
Date: Sat Jan 17 14:31:41 2009
New Revision: 187362
URL: http://svn.freebsd.org/changeset/base/187362
Log:
MFC r186276:
Do not return success and doomed vnode from lookup. LK_UPGRADE allows
the vnode to be reclaimed.
Modified:
stable/7/sys/ (props changed)
stable/7/sys/contrib/pf/ (props changed)
stable/7/sys/dev/cxgb/ (props changed)
stable/7/sys/kern/vfs_lookup.c
Modified: stable/7/sys/kern/vfs_lookup.c
==============================================================================
--- stable/7/sys/kern/vfs_lookup.c Sat Jan 17 13:34:56 2009 (r187361)
+++ stable/7/sys/kern/vfs_lookup.c Sat Jan 17 14:31:41 2009 (r187362)
@@ -779,6 +779,10 @@ success:
if ((cnp->cn_flags & (ISLASTCN | LOCKSHARED | LOCKLEAF)) ==
(ISLASTCN | LOCKLEAF) && VOP_ISLOCKED(dp, td) != LK_EXCLUSIVE) {
vn_lock(dp, LK_UPGRADE | LK_RETRY, td);
+ if (dp->v_iflag & VI_DOOMED) {
+ error = ENOENT;
+ goto bad2;
+ }
}
if (vfslocked && dvfslocked)
VFS_UNLOCK_GIANT(dvfslocked); /* Only need one */
More information about the svn-src-stable
mailing list