diff options
author | dyson <dyson@FreeBSD.org> | 1997-12-29 16:54:03 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1997-12-29 16:54:03 +0000 |
commit | 7bf56bd14aff7b0a18b9262fc5218187a7112f4d (patch) | |
tree | 59cf5ee1fce9984a8e4e2a19e207501a1de0eab8 /sys/kern | |
parent | 988b240fc6b05545e788f258b8add72a6ceb1885 (diff) | |
download | FreeBSD-src-7bf56bd14aff7b0a18b9262fc5218187a7112f4d.zip FreeBSD-src-7bf56bd14aff7b0a18b9262fc5218187a7112f4d.tar.gz |
Add the vnode interlock back around vref.
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/vfs_export.c | 10 | ||||
-rw-r--r-- | sys/kern/vfs_subr.c | 10 |
2 files changed, 18 insertions, 2 deletions
diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c index 69f1101..9a371b8 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.117 1997/12/29 00:22:45 dyson Exp $ + * $Id: vfs_subr.c,v 1.118 1997/12/29 01:03:41 dyson Exp $ */ /* @@ -880,6 +880,14 @@ vget(vp, flags, p) return (0); } +void +vref(struct vnode *vp) +{ + simple_lock(&vp->v_interlock); + vp->v_usecount++; + simple_unlock(&vp->v_interlock); +} + /* * Vnode put/release. * If count drops to zero, call inactive routine and return to freelist. diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 69f1101..9a371b8 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.117 1997/12/29 00:22:45 dyson Exp $ + * $Id: vfs_subr.c,v 1.118 1997/12/29 01:03:41 dyson Exp $ */ /* @@ -880,6 +880,14 @@ vget(vp, flags, p) return (0); } +void +vref(struct vnode *vp) +{ + simple_lock(&vp->v_interlock); + vp->v_usecount++; + simple_unlock(&vp->v_interlock); +} + /* * Vnode put/release. * If count drops to zero, call inactive routine and return to freelist. |