xref: /freebsd/share/man/man9/vfs_busy.9 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
18981fef8SAlfred Perlstein.\"
28981fef8SAlfred Perlstein.\" Copyright (C) 2001 Chad David <davidc@acns.ab.ca>. All rights reserved.
38981fef8SAlfred Perlstein.\"
48981fef8SAlfred Perlstein.\" Redistribution and use in source and binary forms, with or without
58981fef8SAlfred Perlstein.\" modification, are permitted provided that the following conditions
68981fef8SAlfred Perlstein.\" are met:
78981fef8SAlfred Perlstein.\" 1. Redistributions of source code must retain the above copyright
88981fef8SAlfred Perlstein.\"    notice(s), this list of conditions and the following disclaimer as
98981fef8SAlfred Perlstein.\"    the first lines of this file unmodified other than the possible
108981fef8SAlfred Perlstein.\"    addition of one or more copyright notices.
118981fef8SAlfred Perlstein.\" 2. Redistributions in binary form must reproduce the above copyright
128981fef8SAlfred Perlstein.\"    notice(s), this list of conditions and the following disclaimer in the
138981fef8SAlfred Perlstein.\"    documentation and/or other materials provided with the distribution.
148981fef8SAlfred Perlstein.\"
158981fef8SAlfred Perlstein.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
168981fef8SAlfred Perlstein.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
178981fef8SAlfred Perlstein.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
188981fef8SAlfred Perlstein.\" DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
198981fef8SAlfred Perlstein.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
208981fef8SAlfred Perlstein.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
218981fef8SAlfred Perlstein.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
228981fef8SAlfred Perlstein.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
238981fef8SAlfred Perlstein.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
248981fef8SAlfred Perlstein.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
258981fef8SAlfred Perlstein.\" DAMAGE.
268981fef8SAlfred Perlstein.\"
2798744c5aSSergey Kandaurov.Dd February 11, 2013
288981fef8SAlfred Perlstein.Dt VFS_BUSY 9
298981fef8SAlfred Perlstein.Os
308981fef8SAlfred Perlstein.Sh NAME
318981fef8SAlfred Perlstein.Nm vfs_busy
3223789024SRuslan Ermilov.Nd "marks a mount point as busy"
338981fef8SAlfred Perlstein.Sh SYNOPSIS
3423789024SRuslan Ermilov.In sys/param.h
3523789024SRuslan Ermilov.In sys/mount.h
368981fef8SAlfred Perlstein.Ft int
371efbe1a4SAttilio Rao.Fn vfs_busy "struct mount *mp" "int flags"
388981fef8SAlfred Perlstein.Sh DESCRIPTION
398981fef8SAlfred PerlsteinThe
4023789024SRuslan Ermilov.Fn vfs_busy
413141712dSJaakko Heinonenfunction marks a mount point as busy by incrementing
423141712dSJaakko Heinonenthe reference count of a mount point.
43034709cbSRuslan ErmilovIt also delays unmounting by sleeping on
44034709cbSRuslan Ermilov.Fa mp
45034709cbSRuslan Ermilovif the
4623789024SRuslan Ermilov.Dv MNTK_UNMOUNT
4723789024SRuslan Ermilovflag is set in
4823789024SRuslan Ermilov.Fa mp->mnt_kern_flag
4923789024SRuslan Ermilovand the
503141712dSJaakko Heinonen.Dv MBF_NOWAIT
5123789024SRuslan Ermilovflag is
5223789024SRuslan Ermilov.Em not
5323789024SRuslan Ermilovset.
548981fef8SAlfred Perlstein.Pp
558981fef8SAlfred PerlsteinIts arguments are:
561efbe1a4SAttilio Rao.Bl -tag -width ".Fa flags"
5723789024SRuslan Ermilov.It Fa mp
588981fef8SAlfred PerlsteinThe mount point to busy.
5923789024SRuslan Ermilov.It Fa flags
60034709cbSRuslan ErmilovFlags controlling how
61034709cbSRuslan Ermilov.Fn vfs_busy
62034709cbSRuslan Ermilovshould act.
631efbe1a4SAttilio Rao.Bl -tag -width ".Dv MBF_MNTLSTLOCK"
641efbe1a4SAttilio Rao.It Dv MBF_NOWAIT
6523789024SRuslan Ermilovdo not sleep if
6623789024SRuslan Ermilov.Dv MNTK_UNMOUNT
6723789024SRuslan Ermilovis set.
681efbe1a4SAttilio Rao.It Dv MBF_MNTLSTLOCK
691efbe1a4SAttilio Raodrop the mountlist_mtx in the critical path.
7023789024SRuslan Ermilov.El
718981fef8SAlfred Perlstein.El
728981fef8SAlfred Perlstein.Sh RETURN VALUES
7323789024SRuslan ErmilovA 0 value is returned on success.
7423789024SRuslan ErmilovIf the mount point is being
753141712dSJaakko Heinonenunmounted and MBF_NOWAIT flag is specified
7623789024SRuslan Ermilov.Er ENOENT
773141712dSJaakko Heinonenwill be returned.
788981fef8SAlfred Perlstein.Sh ERRORS
7923789024SRuslan Ermilov.Bl -tag -width Er
8023789024SRuslan Ermilov.It Bq Er ENOENT
8123789024SRuslan ErmilovThe mount point is being unmounted
8223789024SRuslan Ermilov.Dv ( MNTK_UNMOUNT
8323789024SRuslan Ermilovis set).
848981fef8SAlfred Perlstein.El
8598744c5aSSergey Kandaurov.Sh SEE ALSO
8698744c5aSSergey Kandaurov.Xr vfs_unbusy 9
878981fef8SAlfred Perlstein.Sh AUTHORS
8809356c84SHiten PandyaThis manual page was written by
89*8a7314fcSBaptiste Daroussin.An Chad David Aq Mt davidc@acns.ab.ca .
90