SYNOPSIS
In sys/param.h In sys/kernel.h In sys/module.h In sys/mount.h Ft void Fn VFS_SET struct vfsops *vfsops fsname int flagsDESCRIPTION
Fn 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 Fn 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
- VFCF_DELEGADMIN
- Supports delegated administration if vfs.usermount sysctl is set to 1
- VFCF_SBDRY
- When in VFS method, the thread suspension is deferred to the user boundary upon arrival of stop action.
PSEUDOCODE
/* * Fill in the fields for which we have special methods. * The others are initially null. This tells vfs to change them to * pointers to vfs_std* functions during file system registration. */ static struct vfsops myfs_vfsops = { .vfs_mount = myfs_mount, .vfs_root = myfs_root, .vfs_statfs = myfs_statfs, .vfs_unmount = myfs_unmount, }; VFS_SET(myfs_vfsops, myfs, 0);