1.\" $OpenBSD: vhold.9,v 1.9 2013/07/17 20:21:55 schwarze Exp $ 2.\" 3.\" Copyright (C) 2001 Chad David <davidc@acns.ab.ca>. All rights reserved. 4.\" 5.\" Redistribution and use in source and binary forms, with or without 6.\" modification, are permitted provided that the following conditions 7.\" are met: 8.\" 1. Redistributions of source code must retain the above copyright 9.\" notice(s), this list of conditions and the following disclaimer as 10.\" the first lines of this file unmodified other than the possible 11.\" addition of one or more copyright notices. 12.\" 2. Redistributions in binary form must reproduce the above copyright 13.\" notice(s), this list of conditions and the following disclaimer in the 14.\" documentation and/or other materials provided with the distribution. 15.\" 16.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY 17.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19.\" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY 20.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 26.\" DAMAGE. 27.\" 28.\" $FreeBSD: src/share/man/man9/vhold.9,v 1.2 2001/12/14 09:11:13 ru Exp $ 29.\" 30.Dd $Mdocdate: July 17 2013 $ 31.Dt VHOLD 9 32.Os 33.Sh NAME 34.Nm vhold , 35.Nm vdrop 36.Nd acquire/release a hold on a vnode 37.Sh SYNOPSIS 38.In sys/param.h 39.In sys/vnode.h 40.Ft void 41.Fn vhold "struct vnode *vp" 42.Ft void 43.Fn vdrop "struct vnode *vp" 44.Sh DESCRIPTION 45The 46.Fn vhold 47function increments the 48.Va v_holdcnt 49of the given vnode. 50If the vnode has already been added to the free list and its 51.Va v_holdcnt 52and 53.Va v_usecount 54are both zero, it will be removed from the free list and 55added to the vnode hold list. 56.Pp 57The 58.Fn vdrop 59function decrements the 60.Va v_holdcnt 61of the given vnode. 62If the vnode is on the vnode hold list and its 63.Va v_holdcnt 64and 65.Va v_usecount 66are both zero, it will be removed from the vnode hold list and 67added to the freed list. 68.Sh SEE ALSO 69.Xr vnode 9 70.Sh AUTHORS 71This man page was originally written by 72.An Chad David Aq Mt davidc@acns.ab.ca 73for 74.Fx . 75