EN JA
VFS_SET(9)
VFS_SET(9) FreeBSD Kernel Developer's Manual VFS_SET(9)

NAME

VFS_SETset up loadable file system vfsconf

SYNOPSIS

#include < sys/param.h>
#include < sys/kernel.h>
#include < sys/module.h>
#include < sys/mount.h>

void
VFS_SET( struct vfsops *vfsops, fsname, int flags);

DESCRIPTION

VFS_SET() creates a vfsconf structure for the loadable module with the given vfsops, fsname and flags, and declares it by calling DECLARE_MODULE(9) using vfs_modevent() as the event handler.

Possible values for the 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);

AUTHORS

This manual page was written by Chad David <davidc@acns.ab.ca>.
February 21, 2013 FreeBSD