VFS_SET(9)

NAME
VFS_SET - set 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 allow.mount and allow.mount.<fsname> jail parameters are set.

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);

SEE ALSO
jail(2), jail(8), DECLARE_MODULE(9), vfs_modevent(9), vfsconf(9)

AUTHORS
This manual page was written by Chad David <davidc@acns.ab.ca>.