1*86d7f5d3SJohn Marino.\" Copyright (c) 1996 Doug Rabson 2*86d7f5d3SJohn Marino.\" 3*86d7f5d3SJohn Marino.\" All rights reserved. 4*86d7f5d3SJohn Marino.\" 5*86d7f5d3SJohn Marino.\" This program is free software. 6*86d7f5d3SJohn Marino.\" 7*86d7f5d3SJohn Marino.\" Redistribution and use in source and binary forms, with or without 8*86d7f5d3SJohn Marino.\" modification, are permitted provided that the following conditions 9*86d7f5d3SJohn Marino.\" are met: 10*86d7f5d3SJohn Marino.\" 1. Redistributions of source code must retain the above copyright 11*86d7f5d3SJohn Marino.\" notice, this list of conditions and the following disclaimer. 12*86d7f5d3SJohn Marino.\" 2. Redistributions in binary form must reproduce the above copyright 13*86d7f5d3SJohn Marino.\" notice, this list of conditions and the following disclaimer in the 14*86d7f5d3SJohn Marino.\" documentation and/or other materials provided with the distribution. 15*86d7f5d3SJohn Marino.\" 16*86d7f5d3SJohn Marino.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR 17*86d7f5d3SJohn Marino.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18*86d7f5d3SJohn Marino.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 19*86d7f5d3SJohn Marino.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, 20*86d7f5d3SJohn Marino.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21*86d7f5d3SJohn Marino.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22*86d7f5d3SJohn Marino.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23*86d7f5d3SJohn Marino.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24*86d7f5d3SJohn Marino.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25*86d7f5d3SJohn Marino.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26*86d7f5d3SJohn Marino.\" 27*86d7f5d3SJohn Marino.\" $FreeBSD: src/share/man/man9/vput.9,v 1.6.2.3 2001/12/17 11:30:19 ru Exp $ 28*86d7f5d3SJohn Marino.\" 29*86d7f5d3SJohn Marino.Dd May 5, 2007 30*86d7f5d3SJohn Marino.Dt VPUT 9 31*86d7f5d3SJohn Marino.Os 32*86d7f5d3SJohn Marino.Sh NAME 33*86d7f5d3SJohn Marino.Nm vput 34*86d7f5d3SJohn Marino.Nd "Decrement the primary reference count for a vnode and unlock it" 35*86d7f5d3SJohn Marino.Sh SYNOPSIS 36*86d7f5d3SJohn Marino.In sys/param.h 37*86d7f5d3SJohn Marino.In sys/vnode.h 38*86d7f5d3SJohn Marino.Ft void 39*86d7f5d3SJohn Marino.Fn vput "struct vnode *vp" 40*86d7f5d3SJohn Marino.Sh DESCRIPTION 41*86d7f5d3SJohn MarinoDecrement the vnode's primary reference count (via the 42*86d7f5d3SJohn Marino.Fa v_sysref 43*86d7f5d3SJohn Marinofield) and unlock the vnode. 44*86d7f5d3SJohn Marino.Bl -tag -width ".Fa vp" 45*86d7f5d3SJohn Marino.It Fa vp 46*86d7f5d3SJohn MarinoThe vnode in question. 47*86d7f5d3SJohn Marino.El 48*86d7f5d3SJohn Marino.Pp 49*86d7f5d3SJohn MarinoThis operation is functionally equivalent to calling 50*86d7f5d3SJohn Marino.Xr vn_unlock 9 51*86d7f5d3SJohn Marinofollowed by 52*86d7f5d3SJohn Marino.Xr vrele 9 . 53*86d7f5d3SJohn MarinoReleasing the last primary reference on a vnode will cause it to be 54*86d7f5d3SJohn Marinodeactivated and either moved to the free list or cached. 55*86d7f5d3SJohn MarinoVnodes with namecache and/or VM objects are typically marked as being cached 56*86d7f5d3SJohn Marinounless the system needs the memory for other purposes. 57*86d7f5d3SJohn Marino.Sh SEE ALSO 58*86d7f5d3SJohn Marino.Xr vdrop 9 , 59*86d7f5d3SJohn Marino.Xr vget 9 , 60*86d7f5d3SJohn Marino.Xr vhold 9 , 61*86d7f5d3SJohn Marino.Xr vnode 9 , 62*86d7f5d3SJohn Marino.Xr vn_lock 9 , 63*86d7f5d3SJohn Marino.Xr vn_unlock 9 , 64*86d7f5d3SJohn Marino.Xr vref 9 , 65*86d7f5d3SJohn Marino.Xr vrele 9 66*86d7f5d3SJohn Marino.Sh AUTHORS 67*86d7f5d3SJohn MarinoThis manual page was written by 68*86d7f5d3SJohn Marino.An Doug Rabson . 69