diff options
author | Niels Provos <provos@cvs.openbsd.org> | 2001-06-05 21:47:08 +0000 |
---|---|---|
committer | Niels Provos <provos@cvs.openbsd.org> | 2001-06-05 21:47:08 +0000 |
commit | ee7652723f91631f1535e8effa4d796feb7a14dd (patch) | |
tree | 1673f731b8168ceb43ec174174bfe25368a0a7cc /sys/kern | |
parent | ef14a545ddf83db29def5e4edb87275fccbe553e (diff) |
send note_revoke to knotes when vnode goes away, okay art@
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/vfs_subr.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 3d77ff1c57f..e80f0e6d0d6 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vfs_subr.c,v 1.60 2001/05/16 13:54:37 art Exp $ */ +/* $OpenBSD: vfs_subr.c,v 1.61 2001/06/05 21:47:07 provos Exp $ */ /* $NetBSD: vfs_subr.c,v 1.53 1996/04/22 01:39:13 christos Exp $ */ /* @@ -121,6 +121,9 @@ static __inline__ void vputonfreelist __P((struct vnode *)); void printlockedvnodes __P((void)); #endif +#define VN_KNOTE(vp, b) \ + KNOTE((struct klist *)&vp->v_selectinfo.vsi_selinfo.si_note, (b)) + struct pool vnode_pool; /* @@ -1042,6 +1045,9 @@ vclean(vp, flags, p) * Done with purge, notify sleepers of the grim news. */ vp->v_op = dead_vnodeop_p; + simple_lock(&vp->v_selectinfo.vsi_lock); + VN_KNOTE(vp, NOTE_REVOKE); + simple_unlock(&vp->v_selectinfo.vsi_lock); vp->v_tag = VT_NON; vp->v_flag &= ~VXLOCK; #ifdef DIAGNOSTIC |