diff options
Diffstat (limited to 'share/man/man9/vhold.9')
-rw-r--r-- | share/man/man9/vhold.9 | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/share/man/man9/vhold.9 b/share/man/man9/vhold.9 new file mode 100644 index 000000000000..cb1f35d1df37 --- /dev/null +++ b/share/man/man9/vhold.9 @@ -0,0 +1,83 @@ +.\" +.\" Copyright (C) 2001 Chad David <davidc@acns.ab.ca>. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice(s), this list of conditions and the following disclaimer as +.\" the first lines of this file unmodified other than the possible +.\" addition of one or more copyright notices. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice(s), this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY +.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +.\" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY +.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +.\" DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd April 1, 2007 +.Dt VHOLD 9 +.Os +.Sh NAME +.Nm vhold , vdrop , vdropl +.Nd "acquire/release a hold on a vnode" +.Sh SYNOPSIS +.In sys/param.h +.In sys/vnode.h +.Ft void +.Fn vhold "struct vnode *vp" +.Ft void +.Fn vholdl "struct vnode *vp" +.Ft void +.Fn vdrop "struct vnode *vp" +.Ft void +.Fn vdropl "struct vnode *vp" +.Sh DESCRIPTION +The +.Fn vhold +and +.Fn vholdl +functions increment the +.Va v_holdcnt +of the given vnode. +If the vnode has already been added to the free list and is still referenced, +it will be removed. +.Pp +The +.Fn vdrop +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 +or +.Fn vdropl , +the system will panic. +If the vnode is no longer referenced, it will be freed. +.Pp +.Fn vhold +and +.Fn vdrop +lock the vnode interlock while +.Fn vholdl +and +.Fn vdropl +expect the interlock to already be held. +.Sh SEE ALSO +.Xr vnode 9 +.Sh AUTHORS +This manual page was written by +.An Chad David Aq davidc@acns.ab.ca . |