svn commit: r249246 - stable/9/sys/kern

Konstantin Belousov kib at FreeBSD.org
Mon Apr 8 08:29:53 UTC 2013


Author: kib
Date: Mon Apr  8 08:29:52 2013
New Revision: 249246
URL: http://svnweb.freebsd.org/changeset/base/249246

Log:
  MFC r248969:
  Do not call the VOP_LOOKUP() for the doomed directory vnode.

Modified:
  stable/9/sys/kern/vfs_lookup.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/kern/vfs_lookup.c
==============================================================================
--- stable/9/sys/kern/vfs_lookup.c	Mon Apr  8 08:05:15 2013	(r249245)
+++ stable/9/sys/kern/vfs_lookup.c	Mon Apr  8 08:29:52 2013	(r249246)
@@ -714,6 +714,10 @@ unionlookup:
 	    VOP_ISLOCKED(dp) == LK_SHARED &&
 	    (cnp->cn_flags & ISLASTCN) && (cnp->cn_flags & LOCKPARENT))
 		vn_lock(dp, LK_UPGRADE|LK_RETRY);
+	if ((dp->v_iflag & VI_DOOMED) != 0) {
+		error = ENOENT;
+		goto bad;
+	}
 	/*
 	 * If we're looking up the last component and we need an exclusive
 	 * lock, adjust our lkflags.


More information about the svn-src-stable-9 mailing list