vfs_init.c (33181) | vfs_init.c (38869) |
---|---|
1/* 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed 6 * to Berkeley by John Heidemann of the UCLA Ficus project. 7 * 8 * Source: * @(#)i405_init.c 2.10 92/04/27 UCLA Ficus project --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)vfs_init.c 8.3 (Berkeley) 1/4/94 | 1/* 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed 6 * to Berkeley by John Heidemann of the UCLA Ficus project. 7 * 8 * Source: * @(#)i405_init.c 2.10 92/04/27 UCLA Ficus project --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)vfs_init.c 8.3 (Berkeley) 1/4/94 |
39 * $Id: vfs_init.c,v 1.31 1997/10/26 20:26:33 phk Exp $ | 39 * $Id: vfs_init.c,v 1.32 1998/02/09 06:09:33 eivind Exp $ |
40 */ 41 42 43#include <sys/param.h> 44#include <sys/systm.h> 45#include <sys/kernel.h> 46#include <sys/mount.h> | 40 */ 41 42 43#include <sys/param.h> 44#include <sys/systm.h> 45#include <sys/kernel.h> 46#include <sys/mount.h> |
47#include <sys/sysctl.h> |
|
47#include <sys/vnode.h> 48#include <sys/malloc.h> 49#include <vm/vm_zone.h> 50 51static void vfs_op_init __P((void)); 52 53static void vfsinit __P((void *)); 54SYSINIT(vfs, SI_SUB_VFS, SI_ORDER_FIRST, vfsinit, NULL) --- 168 unchanged lines hidden (view full) --- 223/* 224 * Initialize the vnode structures and initialize each file system type. 225 */ 226/* ARGSUSED*/ 227static void 228vfsinit(dummy) 229 void *dummy; 230{ | 48#include <sys/vnode.h> 49#include <sys/malloc.h> 50#include <vm/vm_zone.h> 51 52static void vfs_op_init __P((void)); 53 54static void vfsinit __P((void *)); 55SYSINIT(vfs, SI_SUB_VFS, SI_ORDER_FIRST, vfsinit, NULL) --- 168 unchanged lines hidden (view full) --- 224/* 225 * Initialize the vnode structures and initialize each file system type. 226 */ 227/* ARGSUSED*/ 228static void 229vfsinit(dummy) 230 void *dummy; 231{ |
231 struct vfsconf **vfc; | 232 struct vfsconf **vfc, *vfsp; |
232 int maxtypenum; 233 234 namei_zone = zinit("NAMEI", MAXPATHLEN, 0, 0, 2); 235 236 /* 237 * Initialize the vnode table 238 */ 239 vntblinit(); --- 7 unchanged lines hidden (view full) --- 247 vfs_op_init(); 248 vfs_opv_init(vfs_opv_descs); /* finish the job */ 249 /* 250 * Initialize each file system type. 251 */ 252 vattr_null(&va_null); 253 maxtypenum = 0; 254 vfc = (struct vfsconf **)vfs_set.ls_items; | 233 int maxtypenum; 234 235 namei_zone = zinit("NAMEI", MAXPATHLEN, 0, 0, 2); 236 237 /* 238 * Initialize the vnode table 239 */ 240 vntblinit(); --- 7 unchanged lines hidden (view full) --- 248 vfs_op_init(); 249 vfs_opv_init(vfs_opv_descs); /* finish the job */ 250 /* 251 * Initialize each file system type. 252 */ 253 vattr_null(&va_null); 254 maxtypenum = 0; 255 vfc = (struct vfsconf **)vfs_set.ls_items; |
255 vfsconf = *vfc; /* simulate Lite2 vfsconf array */ 256 while (*vfc) { 257 struct vfsconf *vfsp = *vfc; 258 259 vfc++; 260 vfsp->vfc_next = *vfc; 261 if (maxtypenum <= vfsp->vfc_typenum) 262 maxtypenum = vfsp->vfc_typenum + 1; | 256 vfsconf = *vfc; 257 for (; *vfc != NULL; maxtypenum++, vfc++) { 258 vfsp = *vfc; 259 vfsp->vfc_next = *(vfc + 1); 260 vfsp->vfc_typenum = maxtypenum; 261 if (vfsp->vfc_vfsops->vfs_oid != NULL) { 262 vfsp->vfc_vfsops->vfs_oid->oid_number = maxtypenum; 263 sysctl_order_all(); 264 } |
263 (*vfsp->vfc_vfsops->vfs_init)(vfsp); 264 } 265 /* next vfc_typenum to be used */ 266 maxvfsconf = maxtypenum; 267} 268 | 265 (*vfsp->vfc_vfsops->vfs_init)(vfsp); 266 } 267 /* next vfc_typenum to be used */ 268 maxvfsconf = maxtypenum; 269} 270 |