vinvalbuf in vrecycle

This commit is contained in:
pooka 2007-09-01 21:39:46 +00:00
parent 9b0f085da1
commit ebf393b89f

View File

@ -1,4 +1,4 @@
/* $NetBSD: vfs.c,v 1.11 2007/08/20 15:58:14 pooka Exp $ */
/* $NetBSD: vfs.c,v 1.12 2007/09/01 21:39:46 pooka Exp $ */
/*
* Copyright (c) 2007 Antti Kantee. All Rights Reserved.
@ -31,6 +31,7 @@
#include <sys/mount.h>
#include <sys/vnode.h>
#include <sys/errno.h>
#include <sys/kauth.h>
#include <sys/lock.h>
#include <sys/lockf.h>
#include <sys/stat.h>
@ -174,6 +175,7 @@ vrecycle(struct vnode *vp, struct simplelock *inter_lkp, struct lwp *l)
struct mount *mp = vp->v_mount;
if (vp->v_data != (void *)1) {
vinvalbuf(vp, V_SAVE, NOCRED, l, 0, 0);
VOP_RECLAIM(vp, l);
vp->v_data = (void *)1; /* O(1) hack ;) */
TAILQ_REMOVE(&mp->mnt_vnodelist, vp, v_mntvnodes);