Deleted Added
full compact
vgone.9 (176604) vgone.9 (215176)
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

--- 10 unchanged lines hidden (view full) ---

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.\"
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

--- 10 unchanged lines hidden (view full) ---

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: head/share/man/man9/vgone.9 176604 2008-02-26 20:11:37Z davidc $
27.\" $FreeBSD: head/share/man/man9/vgone.9 215176 2010-11-12 12:07:36Z pluknet $
28.\"
28.\"
29.Dd November 21, 2001
29.Dd November 12, 2010
30.Dt VGONE 9
31.Os
32.Sh NAME
30.Dt VGONE 9
31.Os
32.Sh NAME
33.Nm vgone , vgonel
33.Nm vgone
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"
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
40.Sh DESCRIPTION
41The
43.Fn vgone
42.Fn vgone
44and
45.Fn vgonel
46prepare a vnode for reuse by another file system.
43function prepares the vnode to be destroyed.
47The preparation includes the cleaning of all file system 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 VI_DOOMED
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 file system is being unmounted.
57.Pp
44The preparation includes the cleaning of all file system specific data and
45the removal from its mount point vnode list.
46.Pp
47If the vnode has a
48.Va v_usecount
49of zero, and its
50.Dv VI_DOOMED
51flag is not set, it is moved to the head of the free list
52as in most cases the vnode
53is about to be reused, or its file system is being unmounted.
54.Pp
58The difference between
55The
59.Fn vgone
56.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.
57function takes an exclusively locked vnode, and returns with the vnode
58exclusively locked.
59.Sh SEE ALSO
60.Xr vnode 9
69.Sh AUTHORS
70This manual page was written by
71.An Chad David Aq davidc@acns.ab.ca .
61.Sh AUTHORS
62This manual page was written by
63.An Chad David Aq davidc@acns.ab.ca .