VFS_SET(9)

VFS_SET9

Set up loadable file system vfsconf

Usage

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

Overview

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

Releases

56 releases since FreeBSD 5.0-RELEASE; the text changed 36 times.

  1. 5.0
  2. 5.1
  3. 5.2–5.3
  4. 5.4–5.5
  5. 6.0–6.3
  6. 6.4
  7. 7.0
  8. 7.1
  9. 7.2
  10. 7.3
  11. 7.4
  12. 8.0
  13. 8.1
  14. 8.2
  15. 8.3
  16. 8.4
  17. 9.0
  18. 9.1
  19. 9.2
  20. 9.3
  21. 10.0
  22. 10.1
  23. 10.2
  24. 10.3
  25. 10.4
  26. 11.0
  27. 11.1
  28. 11.2
  29. 11.3
  30. 11.4
  31. 12.0
  32. 12.1
  33. 12.2
  34. 12.3
  35. 12.4
  36. 13.0–13.2
  37. 13.3–16.0

Authors

This manual page was written by Chad David ⟨[email protected]⟩.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.