Module Name: src Committed By: rmind Date: Tue Jun 14 00:56:02 UTC 2011
Modified Files: src/share/man/man9: vnode.9 Log Message: Update getnewvnode(9) description. To generate a diff of this commit: cvs rdiff -u -r1.52 -r1.53 src/share/man/man9/vnode.9 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/share/man/man9/vnode.9 diff -u src/share/man/man9/vnode.9:1.52 src/share/man/man9/vnode.9:1.53 --- src/share/man/man9/vnode.9:1.52 Tue Apr 26 11:32:38 2011 +++ src/share/man/man9/vnode.9 Tue Jun 14 00:56:02 2011 @@ -1,4 +1,4 @@ -.\" $NetBSD: vnode.9,v 1.52 2011/04/26 11:32:38 hannken Exp $ +.\" $NetBSD: vnode.9,v 1.53 2011/06/14 00:56:02 rmind Exp $ .\" .\" Copyright (c) 2001, 2005, 2006 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 26, 2011 +.Dd June 14, 2011 .Dt VNODE 9 .Os .Sh NAME @@ -74,7 +74,8 @@ .Ft void .Fn holdrele "struct vnode *vp" .Ft int -.Fn getnewvnode "enum vtagtype tag" "struct mount *mp" "int (**vops)(void *)" "struct vnode **vpp" +.Fn getnewvnode "enum vtagtype tag" "struct mount *mp" "int (**vops)(void *)" \ +"kmutex_t *slock" "struct vnode **vpp" .Ft void .Fn ungetnewvnode "struct vnode *vp" .Ft int @@ -564,7 +565,7 @@ as inactive by decrementing .Em vp-\*[Gt]v_holdcnt and moving the vnode from the holdlist to the freelist. -.It Fn getnewvnode "tag" "mp" "vops" "vpp" +.It Fn getnewvnode "tag" "mp" "vops" "slock" "vpp" Retrieve the next vnode from the freelist. .Fn getnewvnode must choose whether to allocate a new vnode or recycle an existing @@ -595,6 +596,13 @@ vnode. If a vnode is successfully retrieved zero is returned, otherwise an appropriate error code is returned. +If +.Fa slock +is not NULL, it specifies the lock to share for +.Em v_interlock . +The reference will be held on the lock and sharing noted. +Reference will be released and lock unshared when the vnode gets recycled. +If NULL (regular case), vnode will use its own interlock. .It Fn ungetnewvnode "vp" Undo the operation of .Fn getnewvnode .