xref: /freebsd/share/man/man9/vgone.9 (revision 1f620c2ead117e9b4f698560053721d05a6637a3)
1.\"
2.\" Copyright (C) 2001 Chad David <davidc@acns.ab.ca>. All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice(s), this list of conditions and the following disclaimer as
9.\"    the first lines of this file unmodified other than the possible
10.\"    addition of one or more copyright notices.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\"    notice(s), this list of conditions and the following disclaimer in the
13.\"    documentation and/or other materials provided with the distribution.
14.\"
15.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
16.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18.\" DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
19.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
22.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
25.\" DAMAGE.
26.\"
27.\" $FreeBSD$
28.\"
29.Dd November 21, 2001
30.Dt VGONE 9
31.Os
32.Sh NAME
33.Nm vgone , vgonel
34.Nd "prepare a vnode for reuse"
35.Sh SYNOPSIS
36.In sys/param.h
37.In sys/vnode.h
38.Ft void
39.Fn vgone "struct vnode *vp"
40.Ft void
41.Fn vgonel "struct vnode *vp" "struct thread *td"
42.Sh DESCRIPTION
43.Fn vgone
44and
45.Fn vgonel
46prepare a vnode for reuse by another filesystem.
47The preparation includes the cleaning of all filesystem specific data and
48the removal from its mount point vnode list.
49.Pp
50If the vnode has a
51.Va v_usecount
52of zero, and its
53.Dv VDOOMED
54flag is not set, it is moved to the head of the free list
55as in most cases the vnode
56is about to be reused, or its filesystem being unmounted.
57.Pp
58The difference between
59.Fn vgone
60and
61.Fn vgonel
62is that
63.Fn vgone
64locks the vnode interlock and then calls
65.Fn vgonel
66while
67.Fn vgonel
68expects the interlock to already be locked.
69.Sh SEE ALSO
70.Xr vclean 9
71.Sh AUTHORS
72This man page was written by
73.An Chad David Aq davidc@acns.ab.ca .
74