From 53f6f08545ab738246a6a46cf1e1e5e62d21e993 Mon Sep 17 00:00:00 2001 From: John Dyson Date: Mon, 12 Jan 1998 03:15:01 +0000 Subject: Fix another vnode leak. --- sys/kern/vfs_export.c | 6 ++++-- sys/kern/vfs_subr.c | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'sys') diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c index 90f2144319df..8ae2ba48fc63 100644 --- a/sys/kern/vfs_export.c +++ b/sys/kern/vfs_export.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vfs_subr.c 8.31 (Berkeley) 5/26/95 - * $Id: vfs_subr.c,v 1.121 1998/01/07 09:26:29 dyson Exp $ + * $Id: vfs_subr.c,v 1.122 1998/01/12 01:46:30 dyson Exp $ */ /* @@ -373,8 +373,10 @@ getnewvnode(tag, mp, vops, vpp) for (vp = TAILQ_FIRST(&vnode_tobefree_list); vp; vp = nvp) { nvp = TAILQ_NEXT(vp, v_freelist); - vp->v_flag &= ~VTBFREE; + TAILQ_REMOVE(&vnode_tobefree_list, vp, v_freelist); TAILQ_INSERT_TAIL(&vnode_tmp_list, vp, v_freelist); + vp->v_flag &= ~VTBFREE; + freevnodes++; } if (wantfreevnodes && freevnodes < wantfreevnodes) { diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 90f2144319df..8ae2ba48fc63 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vfs_subr.c 8.31 (Berkeley) 5/26/95 - * $Id: vfs_subr.c,v 1.121 1998/01/07 09:26:29 dyson Exp $ + * $Id: vfs_subr.c,v 1.122 1998/01/12 01:46:30 dyson Exp $ */ /* @@ -373,8 +373,10 @@ getnewvnode(tag, mp, vops, vpp) for (vp = TAILQ_FIRST(&vnode_tobefree_list); vp; vp = nvp) { nvp = TAILQ_NEXT(vp, v_freelist); - vp->v_flag &= ~VTBFREE; + TAILQ_REMOVE(&vnode_tobefree_list, vp, v_freelist); TAILQ_INSERT_TAIL(&vnode_tmp_list, vp, v_freelist); + vp->v_flag &= ~VTBFREE; + freevnodes++; } if (wantfreevnodes && freevnodes < wantfreevnodes) { -- cgit v1.3