Scroll to navigation

VFS_SET(9) 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

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

Possible values for the flags argument are:

File system should be statically available in the kernel.
Network exportable file system.
Does not support write operations.
Pseudo file system, data does not represent on-disk files.
Loopback file system layer.
File names are stored as Unicode.
Can be mounted from within a jail if allow.mount and allow.mount.<fsname> jail parameters are set.
Supports delegated administration if vfs.usermount sysctl is set to 1.
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>.

August 16, 2018 Debian