xref: /dflybsd-src/share/man/man9/vn_lock.9 (revision 1ef3b4ca2643bb7f881448453992cd9e2243799b)
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