summaryrefslogtreecommitdiff
path: root/sys/kern
diff options
context:
space:
mode:
authorChristian Weisgerber <naddy@cvs.openbsd.org>2003-05-13 09:31:07 +0000
committerChristian Weisgerber <naddy@cvs.openbsd.org>2003-05-13 09:31:07 +0000
commit896aa8deb7b5b3df09f6feb7e63e222516b006bf (patch)
treeff9d015878bd0fd03d9dbff558a0236cc6ba9e05 /sys/kern
parent34b32d5ee97129dbcad1bc25d32d8d0e3947bbf7 (diff)
Back out previous change that causes "vnode table full" for large-scale
file operations.
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/vfs_subr.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 3e4d812f7da..72c730abcb3 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vfs_subr.c,v 1.92 2003/05/13 02:30:01 tedu Exp $ */
+/* $OpenBSD: vfs_subr.c,v 1.93 2003/05/13 09:31:06 naddy Exp $ */
/* $NetBSD: vfs_subr.c,v 1.53 1996/04/22 01:39:13 christos Exp $ */
/*
@@ -415,6 +415,8 @@ getnewvnode(tag, mp, vops, vpp)
for (vp = TAILQ_FIRST(listhd); vp != NULLVP;
vp = TAILQ_NEXT(vp, v_freelist)) {
if (simple_lock_try(&vp->v_interlock)) {
+ if ((vp->v_flag & VLAYER) == 0)
+ break;
if (VOP_ISLOCKED(vp) == 0)
break;
else