vgone.9 (07fbcd3aacf55ebc4812ed5432e761b2cbf68683) vgone.9 (2164257702740979d6ffebaba02a3fd778aea2c3)
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

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

25.\" DAMAGE.
26.\"
27.\" $FreeBSD$
28.\"
29.Dd November 21, 2001
30.Dt VGONE 9
31.Os
32.Sh NAME
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

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

25.\" DAMAGE.
26.\"
27.\" $FreeBSD$
28.\"
29.Dd November 21, 2001
30.Dt VGONE 9
31.Os
32.Sh NAME
33.Nm vgone , vgonel
33.Nm vgone
34.Nm 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
35.Nd "prepare a vnode for reuse"
36.Sh SYNOPSIS
37.In sys/param.h
38.In sys/vnode.h
39.Ft void
40.Fn vgone "struct vnode *vp"
41.Ft void
41.Fn vgonel "struct vnode *vp" "struct thread *td"
42.Fn vgonel "struct vnod *vp" "struct thread *td"
42.Sh DESCRIPTION
43.Fn vgone
44and
45.Fn vgonel
43.Sh DESCRIPTION
44.Fn vgone
45and
46.Fn vgonel
46prepare a vnode for reuse by another file system.
47The preparation includes the cleaning of all file system specific data and
47prepare a vnode for reuse by another filesystem.
48The preparation includes the cleaning of all filesystem specific data and
48the removal from its mount point vnode list.
49.Pp
49the removal from its mount point vnode list.
50.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.
51If the vnode has a usecount of zero, and its
52.Dv VDOOMED
53flag is not set it is moved to the head of the free list as in most cases the vnode
54is 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.
55.Pp
56The difference between
57.Fn vgone
58and
59.Fn vgonel
60is that
61.Fn vgone
62locks the vnode interlock and then calls
63.Fn vgonel
64while
65.Fn vgonel
66expects the interlock to already be locked.
67.Sh SEE ALSO
68.Xr vclean 9
69.Sh AUTHORS
69.Sh AUTHORS
70This manual page was written by
70This man page was written by
71.An Chad David Aq davidc@acns.ab.ca .
71.An Chad David Aq davidc@acns.ab.ca .