* Copyright (c) 1989, 1993
* The Regents of the University of California. All rights reserved.
* %sccs.include.redist.c%
* @(#)vfs_conf.c 8.8 (Berkeley) %G%
#include <ufs/ffs/ffs_extern.h>
* This specifies the filesystem used to mount the root.
* This specification should be done by /etc/config.
int (*mountroot
)() = ffs_mountroot
;
* These define the root filesystem and device.
* Set up the filesystem operations for vnodes.
* The types are defined in mount.h.
extern struct vfsops ufs_vfsops
;
#define UFS_VFSOPS &ufs_vfsops
extern struct vfsops lfs_vfsops
;
#define LFS_VFSOPS &lfs_vfsops
extern struct vfsops mfs_vfsops
;
#define MFS_VFSOPS &mfs_vfsops
extern struct vfsops nfs_vfsops
;
#define NFS_VFSOPS &nfs_vfsops
extern struct vfsops fdesc_vfsops
;
#define FDESC_VFSOPS &fdesc_vfsops
#define FDESC_VFSOPS NULL
extern struct vfsops portal_vfsops
;
#define PORTAL_VFSOPS &portal_vfsops
#define PORTAL_VFSOPS NULL
extern struct vfsops null_vfsops
;
#define NULL_VFSOPS &null_vfsops
extern struct vfsops umap_vfsops
;
#define UMAP_VFSOPS &umap_vfsops
extern struct vfsops kernfs_vfsops
;
#define KERNFS_VFSOPS &kernfs_vfsops
#define KERNFS_VFSOPS NULL
extern struct vfsops procfs_vfsops
;
#define PROCFS_VFSOPS &procfs_vfsops
#define PROCFS_VFSOPS NULL
extern struct vfsops afs_vfsops
;
#define AFS_VFSOPS &afs_vfsops
extern struct vfsops cd9660_vfsops
;
#define CD9660_VFSOPS &cd9660_vfsops
#define CD9660_VFSOPS NULL
extern struct vfsops union_vfsops
;
#define UNION_VFSOPS &union_vfsops
#define UNION_VFSOPS NULL
struct vfsops
*vfssw
[] = {
NULL
, /* 0 = MOUNT_NONE */
UFS_VFSOPS
, /* 1 = MOUNT_UFS */
NFS_VFSOPS
, /* 2 = MOUNT_NFS */
MFS_VFSOPS
, /* 3 = MOUNT_MFS */
LFS_VFSOPS
, /* 5 = MOUNT_LFS */
NULL
, /* 6 = MOUNT_LOFS */
FDESC_VFSOPS
, /* 7 = MOUNT_FDESC */
PORTAL_VFSOPS
, /* 8 = MOUNT_PORTAL */
NULL_VFSOPS
, /* 9 = MOUNT_NULL */
UMAP_VFSOPS
, /* 10 = MOUNT_UMAP */
KERNFS_VFSOPS
, /* 11 = MOUNT_KERNFS */
PROCFS_VFSOPS
, /* 12 = MOUNT_PROCFS */
AFS_VFSOPS
, /* 13 = MOUNT_AFS */
CD9660_VFSOPS
, /* 14 = MOUNT_CD9660 */
UNION_VFSOPS
, /* 15 = MOUNT_UNION */
* 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
,