---
name: "VFS_SET"
section: "9freebsd"
platform: "linux"
package: "freebsd-manpages"
version: "12.2-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/VFS_SET/9freebsd"
---

# 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)](/DECLARE_MODULE/9.md) 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/2.md), [jail(8)](/jail/8.md), [DECLARE\_MODULE(9)](/DECLARE_MODULE/9.md), [vfs\_modevent(9)](/vfs_modevent/9.md), [vfsconf(9)](/vfsconf/9.md)

## AUTHORS

This manual page was written by Chad David ⟨*davidc@acns.ab.ca*⟩.
