VFS_SET ();
creates a
Vt vfsconf
structure for the loadable module with the given
Fa vfsops , fsname
and
Fa flags ,
and declares it by calling
DECLARE_MODULE9
using
vfs_modevent ();
as the event handler.
Possible values for the
Fa flags
argument are:
VFCF_STATIC
File system should be statically available in the kernel.
VFCF_NETWORK
Network exportable file system.
VFCF_READONLY
Does not support write operations.
VFCF_SYNTHETIC
Pseudo file system, data does not represent on-disk files.
VFCF_LOOPBACK
Loopback file system layer.
VFCF_UNICODE
File names are stored as Unicode.
VFCF_JAIL
can be mounted from within a jail if
security.jail.mount_allowed
sysctl is set to
1
PSEUDOCODE
/*
* fill in the ones we use, and use the vfs_std for the rest.
*/
static struct vfsops myfs_vfsops = {
myfs_mount,
vfs_stdstart,
myfs_unmount,
myfs_root,
vfs_stdquotactl,
myfs_statfs,
vfs_stdsync,
vfs_stdvget,
vfs_stdfhtovp,
vfs_stdcheckexp,
vfs_stdvptofh,
vfs_stdinit,
vfs_stduninit,
vfs_stdextattrctl,
};
VFS_SET(myfs_vfsops, skelfs, 0);