* Copyright (c) 1989 The Regents of the University of California.
* %sccs.include.redist.c%
* @(#)vfs_conf.c 7.13 (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 lofs_vfsops
;
#define LOFS_VFSOPS &lofs_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
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 */
LOFS_VFSOPS
, /* 6 = MOUNT_LOFS */
FDESC_VFSOPS
, /* 7 = MOUNT_FDESC */
PORTAL_VFSOPS
, /* 8 = MOUNT_PORTAL */
* Vnode_op_descs lists all vnode operations supported.
* At boot time vfs_op_init examines this list
* to configure vnode operations vectors.
extern struct vnodeop_desc
struct vnodeop_desc
*vfs_op_descs
[] = {
&vop_default_desc
, /* must be first */
* 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's also null terminated.
* Out-of-kernel, someone else (more knowlegable about what file
* systems live in this address space) must specify this table.
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 lofs_vnodeop_opv_desc
;
extern struct vnodeopv_desc fdesc_vnodeop_opv_desc
;
extern struct vnodeopv_desc portal_vnodeop_opv_desc
;
struct vnodeopv_desc
*vfs_opv_descs
[] = {
&spec_nfsv2nodeop_opv_desc
,
&fifo_nfsv2nodeop_opv_desc
,
&portal_vnodeop_opv_desc
,