aboutsummaryrefslogtreecommitdiff
path: root/share/man/man9/vhold.9
diff options
context:
space:
mode:
authorMaxim Konovalov <maxim@FreeBSD.org>2007-04-01 09:48:59 +0000
committerMaxim Konovalov <maxim@FreeBSD.org>2007-04-01 09:48:59 +0000
commit8ad9c3234598813c890ad34e5283a2e7d0f881bf (patch)
tree411471306eb66b301a02373c4435b226d93b97f4 /share/man/man9/vhold.9
parentca117b402262a88f04da67011ef1be70de130ce1 (diff)
o Document vdropl(9) [1].
o Add an MLINK for vdropl(). Reviewed by: des [1] Obtained from: wording from vgone(9)
Notes
Notes: svn path=/head/; revision=168203
Diffstat (limited to 'share/man/man9/vhold.9')
-rw-r--r--share/man/man9/vhold.926
1 files changed, 22 insertions, 4 deletions
diff --git a/share/man/man9/vhold.9 b/share/man/man9/vhold.9
index e2f985cfe7e8..6eafd3fc3db5 100644
--- a/share/man/man9/vhold.9
+++ b/share/man/man9/vhold.9
@@ -26,11 +26,11 @@
.\"
.\" $FreeBSD$
.\"
-.Dd November 21, 2001
+.Dd April 1, 2007
.Dt VHOLD 9
.Os
.Sh NAME
-.Nm vhold , vdrop
+.Nm vhold , vdrop , vdropl
.Nd "acquire/release a hold on a vnode"
.Sh SYNOPSIS
.In sys/param.h
@@ -39,6 +39,8 @@
.Fn vhold "struct vnode *vp"
.Ft void
.Fn vdrop "struct vnode *vp"
+.Ft void
+.Fn vdropl "struct vnode *vp"
.Sh DESCRIPTION
The
.Fn vhold
@@ -50,13 +52,29 @@ it will be removed.
.Pp
The
.Fn vdrop
-function decrements the
+and
+.Fn vdropl
+functions decrement the
.Va v_holdcnt
of the vnode.
If the holdcount is less than or equal to zero prior to calling
-.Fn vdrop ,
+.Fn vdrop
+or
+.Fn vdropl ,
the system will panic.
If the vnode is no longer referenced, it will be freed.
+.Pp
+The difference between
+.Fn vdrop
+and
+.Fn vdropl
+is that
+.Fn vdrop
+locks the vnode interlock and then calls
+.Fn vdropl
+while
+.Fn vdropl
+expects the interlock to already be locked.
.Sh SEE ALSO
.Xr vbusy 9 ,
.Xr vfree 9