diff options
Diffstat (limited to 'sys/kern/vfs_subr.c')
-rw-r--r-- | sys/kern/vfs_subr.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 9de92d955a1..f8b89c02730 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vfs_subr.c,v 1.189 2010/08/12 15:00:17 oga Exp $ */ +/* $OpenBSD: vfs_subr.c,v 1.190 2010/09/06 23:44:10 thib Exp $ */ /* $NetBSD: vfs_subr.c,v 1.53 1996/04/22 01:39:13 christos Exp $ */ /* @@ -301,14 +301,13 @@ vattr_null(struct vattr *vap) /* * Routines having to do with the management of the vnode table. */ -extern int (**dead_vnodeop_p)(void *); long numvnodes; /* * Return the next vnode from the free list. */ int -getnewvnode(enum vtagtype tag, struct mount *mp, int (**vops)(void *), +getnewvnode(enum vtagtype tag, struct mount *mp, struct vops *vops, struct vnode **vpp) { struct proc *p = curproc; @@ -464,7 +463,7 @@ getdevvp(dev_t dev, struct vnode **vpp, enum vtype type) *vpp = NULLVP; return (0); } - error = getnewvnode(VT_NON, NULL, spec_vnodeop_p, &nvp); + error = getnewvnode(VT_NON, NULL, &spec_vops, &nvp); if (error) { *vpp = NULLVP; return (error); @@ -861,7 +860,7 @@ vflush_vnode(struct vnode *vp, void *arg) { vgonel(vp, p); } else { vclean(vp, 0, p); - vp->v_op = spec_vnodeop_p; + vp->v_op = &spec_vops; insmntque(vp, (struct mount *)0); } return (0); @@ -967,7 +966,7 @@ vclean(struct vnode *vp, int flags, struct proc *p) /* * Done with purge, notify sleepers of the grim news. */ - vp->v_op = dead_vnodeop_p; + vp->v_op = &dead_vops; VN_KNOTE(vp, NOTE_REVOKE); vp->v_tag = VT_NON; vp->v_flag &= ~VXLOCK; |