10dfcf8efSAntonio Huete Jimenez.\" Copyright (c) 1996 Doug Rabson 20dfcf8efSAntonio Huete Jimenez.\" 30dfcf8efSAntonio Huete Jimenez.\" All rights reserved. 40dfcf8efSAntonio Huete Jimenez.\" 50dfcf8efSAntonio Huete Jimenez.\" This program is free software. 60dfcf8efSAntonio Huete Jimenez.\" 70dfcf8efSAntonio Huete Jimenez.\" Redistribution and use in source and binary forms, with or without 80dfcf8efSAntonio Huete Jimenez.\" modification, are permitted provided that the following conditions 90dfcf8efSAntonio Huete Jimenez.\" are met: 100dfcf8efSAntonio Huete Jimenez.\" 1. Redistributions of source code must retain the above copyright 110dfcf8efSAntonio Huete Jimenez.\" notice, this list of conditions and the following disclaimer. 120dfcf8efSAntonio Huete Jimenez.\" 2. Redistributions in binary form must reproduce the above copyright 130dfcf8efSAntonio Huete Jimenez.\" notice, this list of conditions and the following disclaimer in the 140dfcf8efSAntonio Huete Jimenez.\" documentation and/or other materials provided with the distribution. 150dfcf8efSAntonio Huete Jimenez.\" 160dfcf8efSAntonio Huete Jimenez.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR 170dfcf8efSAntonio Huete Jimenez.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 180dfcf8efSAntonio Huete Jimenez.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 190dfcf8efSAntonio Huete Jimenez.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, 200dfcf8efSAntonio Huete Jimenez.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 210dfcf8efSAntonio Huete Jimenez.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 220dfcf8efSAntonio Huete Jimenez.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 230dfcf8efSAntonio Huete Jimenez.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 240dfcf8efSAntonio Huete Jimenez.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 250dfcf8efSAntonio Huete Jimenez.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 260dfcf8efSAntonio Huete Jimenez.\" 270dfcf8efSAntonio Huete Jimenez.\" 280dfcf8efSAntonio Huete Jimenez.Dd November 17, 2014 294ced8123SSascha Wildner.Dt VN_LOCK 9 300dfcf8efSAntonio Huete Jimenez.Os 310dfcf8efSAntonio Huete Jimenez.Sh NAME 320dfcf8efSAntonio Huete Jimenez.Nm vn_lock , 330dfcf8efSAntonio Huete Jimenez.Nm vn_unlock , 340dfcf8efSAntonio Huete Jimenez.Nm vn_islocked 350dfcf8efSAntonio Huete Jimenez.Nd serialize access to a vnode 360dfcf8efSAntonio Huete Jimenez.Sh SYNOPSIS 370dfcf8efSAntonio Huete Jimenez.In sys/vnode.h 380dfcf8efSAntonio Huete Jimenez.Ft int 390dfcf8efSAntonio Huete Jimenez.Fn vn_lock "struct vnode *vp" "int flags" 400dfcf8efSAntonio Huete Jimenez.Ft void 410dfcf8efSAntonio Huete Jimenez.Fn vn_unlock "struct vnode *vp" 420dfcf8efSAntonio Huete Jimenez.Ft int 430dfcf8efSAntonio Huete Jimenez.Fn vn_islocked "struct vnode *vp" 440dfcf8efSAntonio Huete Jimenez.Sh DESCRIPTION 450dfcf8efSAntonio Huete JimenezThese calls are used to serialize access to the filesystem, such as 460dfcf8efSAntonio Huete Jimenezto prevent two writes to the same file from happening at the 470dfcf8efSAntonio Huete Jimenezsame time. 480dfcf8efSAntonio Huete Jimenez.Pp 490dfcf8efSAntonio Huete JimenezThe arguments are: 500dfcf8efSAntonio Huete Jimenez.Bl -tag -width flags 510dfcf8efSAntonio Huete Jimenez.It Fa vp 520dfcf8efSAntonio Huete Jimenezthe vnode being locked or unlocked 530dfcf8efSAntonio Huete Jimenez.It Fa flags 540dfcf8efSAntonio Huete JimenezOne of the lock request types: 550dfcf8efSAntonio Huete Jimenez.Bl -column ".Dv LK_FAILRECLAIM" -offset indent 560dfcf8efSAntonio Huete Jimenez.It Dv LK_RETRY Ta "Automatically retry on timeout" 570dfcf8efSAntonio Huete Jimenez.It Dv LK_FAILRECLAIM Ta "Fail if the vnode is being reclaimed" 580dfcf8efSAntonio Huete Jimenez.El 590dfcf8efSAntonio Huete Jimenez.El 600dfcf8efSAntonio Huete Jimenez.Pp 610dfcf8efSAntonio Huete JimenezThe 620dfcf8efSAntonio Huete Jimenez.Fn vn_lock 630dfcf8efSAntonio Huete Jimenezfunction will require either 640dfcf8efSAntonio Huete Jimenez.Dv LK_EXCLUSIVE 650dfcf8efSAntonio Huete Jimenezor 660dfcf8efSAntonio Huete Jimenez.Dv LK_SHARED 670dfcf8efSAntonio Huete Jimenezto be 680dfcf8efSAntonio Huete Jimenez.Em or Ns 'ed 690dfcf8efSAntonio Huete Jimenezwith the request flags described above in order to specify the type 700dfcf8efSAntonio Huete Jimenezof lock to be used. 710dfcf8efSAntonio Huete Jimenez.Pp 720dfcf8efSAntonio Huete JimenezThe 730dfcf8efSAntonio Huete Jimenez.Fn vn_unlock 740dfcf8efSAntonio Huete Jimenezfunction uses 750dfcf8efSAntonio Huete Jimenez.Dv LK_RELEASE 760dfcf8efSAntonio Huete Jimenezinternally to release a previously held lock. 770dfcf8efSAntonio Huete Jimenez.Pp 780dfcf8efSAntonio Huete JimenezPlease note all these functions rely on 790dfcf8efSAntonio Huete Jimenez.Xr lockmgr 9 800dfcf8efSAntonio Huete Jimenezto perform their operations. 810dfcf8efSAntonio Huete Jimenez.Sh RETURN VALUES 820dfcf8efSAntonio Huete JimenezThe 830dfcf8efSAntonio Huete Jimenez.Fn vn_lock 84*1ef3b4caSSascha Wildnerfunction returns zero on success and non-zero on failure. 850dfcf8efSAntonio Huete Jimenez.Pp 860dfcf8efSAntonio Huete JimenezThe 870dfcf8efSAntonio Huete Jimenez.Fn vn_islocked 880dfcf8efSAntonio Huete Jimenezfunction has identical return values as 890dfcf8efSAntonio Huete Jimenez.Xr lockstatus 9 . 900dfcf8efSAntonio Huete Jimenez.Sh SEE ALSO 9108aa45b7SSascha Wildner.Xr lockmgr 9 , 920dfcf8efSAntonio Huete Jimenez.Xr vnode 9 930dfcf8efSAntonio Huete Jimenez.Sh AUTHORS 940dfcf8efSAntonio Huete JimenezThis man page was written by 950dfcf8efSAntonio Huete Jimenez.An Doug Rabson . 96