]> CyberLeo.Net >> Repos - FreeBSD/releng/8.1.git/blob - share/man/man9/vgone.9
Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.
[FreeBSD/releng/8.1.git] / share / man / man9 / vgone.9
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
44 and
45 .Fn vgonel
46 prepare a vnode for reuse by another file system.
47 The preparation includes the cleaning of all file system specific data and
48 the removal from its mount point vnode list.
49 .Pp
50 If the vnode has a
51 .Va v_usecount
52 of zero, and its
53 .Dv VI_DOOMED
54 flag is not set, it is moved to the head of the free list
55 as in most cases the vnode
56 is about to be reused, or its file system is being unmounted.
57 .Pp
58 The difference between
59 .Fn vgone
60 and
61 .Fn vgonel
62 is that
63 .Fn vgone
64 locks the vnode interlock and then calls
65 .Fn vgonel
66 while
67 .Fn vgonel
68 expects the interlock to already be locked.
69 .Sh AUTHORS
70 This manual page was written by
71 .An Chad David Aq davidc@acns.ab.ca .