2 .\" Copyright (C) 2001 Chad David <davidc@acns.ab.ca>. All rights reserved.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
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.
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
34 .Nd "vfs configuration information"
39 .Fn vfs_register "struct vfsconf *vfc"
41 .Fn vfs_unregister "struct vfsconf *vfc"
43 .Fn vfs_modevent "module_t mod" "int type" "void *data"
45 Each file system type known to the kernel has a
47 structure that contains the
48 information required to create a new mount of that file systems type.
51 struct vfsops *vfc_vfsops; /* file system operations vector */
52 char vfc_name[MFSNAMELEN]; /* file system type name */
53 int vfc_typenum; /* historic file system type number */
54 int vfc_refcount; /* number mounted of this type */
55 int vfc_flags; /* permanent flags */
56 struct vfsconf *vfc_next; /* next in list */
60 When a new file system is mounted,
64 structure by its name, and if it is not already registered,
65 attempts to load a kernel module for it.
66 The file system operations for the new mount point are taken from
72 structure is made to point directly at the
76 The file system type number is taken from
80 and the mount flags are taken from a mask of
82 Each time a file system of a given type is mounted,
89 structure and adds it to the list of existing file systems.
90 If the type has not already been registered, it is initialized by calling the
92 function in the file system operations vector.
94 also updates the oid's of any sysctl nodes for this file system type
95 to be the same as the newly assigned type number.
100 from the list of registered file system types if there are currently no mounted instances.
103 function in the file systems initialization vector is defined, it is called.
108 to handle the loading and unloading of file system kernel modules.
119 returns 0 if successful; otherwise,
121 is returned indicating that the file system type has already been registered.
124 returns 0 if successful.
127 entry can be found matching the name in
131 If the reference count of mounted instances of the file system type is not zero,
136 is called, any errors it returns will be returned by
140 returns the result of the call to
147 .Xr vfs_rootmountalloc 9 ,
150 This manual page was written by
151 .An Chad David Aq davidc@acns.ab.ca .