Reference

VFS_SET(9freebsd)

set up loadable file system vfsconf

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 ⟨[email protected]⟩.

History