* Copyright (c) 1989, 1993, 1995
* The Regents of the University of California. All rights reserved.
* %sccs.include.redist.c%
* @(#)vfs_conf.c 8.11 (Berkeley) %G%
* These define the root filesystem, device, and root filesystem type.
int (*mountroot
)() = NULL
;
* Set up the initial array of known filesystem types.
extern struct vfsops ufs_vfsops
;
extern int ffs_mountroot();
extern struct vfsops lfs_vfsops
;
extern int lfs_mountroot();
extern struct vfsops mfs_vfsops
;
extern int mfs_mountroot();
extern struct vfsops cd9660_vfsops
;
extern int cd9660_mountroot();
extern struct vfsops msdos_vfsops
;
extern struct vfsops adosfs_vfsops
;
extern struct vfsops nfs_vfsops
;
extern int nfs_mountroot();
extern struct vfsops afs_vfsops
;
extern struct vfsops procfs_vfsops
;
extern struct vfsops null_vfsops
;
extern struct vfsops union_vfsops
;
extern struct vfsops umap_vfsops
;
extern struct vfsops portal_vfsops
;
extern struct vfsops fdesc_vfsops
;
extern struct vfsops kernfs_vfsops
;
* Set up the filesystem operations for vnodes.
static struct vfsconf vfsconflist
[] = {
{ &ufs_vfsops
, "ufs", 1, 0, MNT_LOCAL
, ffs_mountroot
, NULL
},
/* Log-based Filesystem */
{ &lfs_vfsops
, "lfs", 5, 0, MNT_LOCAL
, lfs_mountroot
, NULL
},
/* Memory-based Filesystem */
{ &mfs_vfsops
, "mfs", 3, 0, MNT_LOCAL
, mfs_mountroot
, NULL
},
/* ISO9660 (aka CDROM) Filesystem */
{ &cd9660_vfsops
, "cd9660", 14, 0, MNT_LOCAL
, cd9660_mountroot
, NULL
},
{ &msdos_vfsops
, "msdos", 4, 0, MNT_LOCAL
, NULL
, NULL
},
/* AmigaDOS Filesystem */
{ &adosfs_vfsops
, "adosfs", 16, 0, MNT_LOCAL
, NULL
, NULL
},
/* Sun-compatible Network Filesystem */
{ &nfs_vfsops
, "nfs", 2, 0, 0, nfs_mountroot
, NULL
},
{ &afs_vfsops
, "andrewfs", 13, 0, 0, afs_mountroot
, NULL
},
{ &procfs_vfsops
, "procfs", 12, 0, 0, NULL
, NULL
},
/* Loopback (Minimal) Filesystem Layer */
{ &null_vfsops
, "loopback", 9, 0, 0, NULL
, NULL
},
/* Union (translucent) Filesystem */
{ &union_vfsops
, "union", 15, 0, 0, NULL
, NULL
},
/* User/Group Identifer Remapping Filesystem */
{ &umap_vfsops
, "umap", 10, 0, 0, NULL
, NULL
},
{ &portal_vfsops
, "portal", 8, 0, 0, NULL
, NULL
},
/* File Descriptor Filesystem */
{ &fdesc_vfsops
, "fdesc", 7, 0, 0, NULL
, NULL
},
/* Kernel Information Filesystem */
{ &kernfs_vfsops
, "kernfs", 11, 0, 0, NULL
, NULL
},
* Initially the size of the list, vfs_init will set maxvfsconf
* to the highest defined type number.
int maxvfsconf
= sizeof(vfsconflist
) / sizeof (struct vfsconf
);
struct vfsconf
*vfsconf
= vfsconflist
;
* vfs_opv_descs enumerates the list of vnode classes, each with it's own
* vnode operation vector. It is consulted at system boot to build operation
* vectors. It is NULL terminated.
extern struct vnodeopv_desc ffs_vnodeop_opv_desc
;
extern struct vnodeopv_desc ffs_specop_opv_desc
;
extern struct vnodeopv_desc ffs_fifoop_opv_desc
;
extern struct vnodeopv_desc lfs_vnodeop_opv_desc
;
extern struct vnodeopv_desc lfs_specop_opv_desc
;
extern struct vnodeopv_desc lfs_fifoop_opv_desc
;
extern struct vnodeopv_desc mfs_vnodeop_opv_desc
;
extern struct vnodeopv_desc dead_vnodeop_opv_desc
;
extern struct vnodeopv_desc fifo_vnodeop_opv_desc
;
extern struct vnodeopv_desc spec_vnodeop_opv_desc
;
extern struct vnodeopv_desc nfsv2_vnodeop_opv_desc
;
extern struct vnodeopv_desc spec_nfsv2nodeop_opv_desc
;
extern struct vnodeopv_desc fifo_nfsv2nodeop_opv_desc
;
extern struct vnodeopv_desc fdesc_vnodeop_opv_desc
;
extern struct vnodeopv_desc portal_vnodeop_opv_desc
;
extern struct vnodeopv_desc null_vnodeop_opv_desc
;
extern struct vnodeopv_desc umap_vnodeop_opv_desc
;
extern struct vnodeopv_desc kernfs_vnodeop_opv_desc
;
extern struct vnodeopv_desc procfs_vnodeop_opv_desc
;
extern struct vnodeopv_desc cd9660_vnodeop_opv_desc
;
extern struct vnodeopv_desc cd9660_specop_opv_desc
;
extern struct vnodeopv_desc cd9660_fifoop_opv_desc
;
extern struct vnodeopv_desc union_vnodeop_opv_desc
;
struct vnodeopv_desc
*vfs_opv_descs
[] = {
&spec_nfsv2nodeop_opv_desc
,
&fifo_nfsv2nodeop_opv_desc
,
&portal_vnodeop_opv_desc
,
&kernfs_vnodeop_opv_desc
,
&procfs_vnodeop_opv_desc
,
&cd9660_vnodeop_opv_desc
,