Difference between revisions of "Virtual File System Modules"

From SambaWiki
(Added descriptions for all VFS modules shipped in the samba suite.)
m (fix Btrfs VFS module description)
Line 35: Line 35:
|[[Using the btrfs VFS Module|btrfs]]
|[[Using the btrfs VFS Module|btrfs]]
|On <code>Btrfs</code> file systems, this module enables client-side copy and snapshots for Windows clients.
|On <code>Btrfs</code> file systems, this module enables [https://wiki.samba.org/index.php/Server-Side_Copy#Btrfs_Enhanced_Server-Side_Copy_Offload enhanced server-side copy], compression and snapshots.
|[[Using the cacheprime VFS Module|cacheprime]]
|[[Using the cacheprime VFS Module|cacheprime]]

Latest revision as of 11:48, 18 May 2018

The Virtual File System (VFS) in Samba enable administrators to extend the functionality of Samba through modules.

VFS Modules Provided by Samba

Samba provides the following VFS modules:

Name of the VFS Module Feature Provided by the Module
acl_tdb Stores Windows Access Control Lists (ACL) in a Trivial Database (TDB) file.
acl_xattr Enables to use fine-granular Windows ACL.
aio_fork Implements asynchronous I/O in a VFS module.
aio_linux Implements asynchronous I/O in a VFS module using Linux kernel AIO calls.
aio_pthread Implements asynchronous I/O in a VFS using a pthread pool.
audit Logs client operations.
btrfs On Btrfs file systems, this module enables enhanced server-side copy, compression and snapshots.
cacheprime Prime the Kernel file data cache.
cap Provides support for Columbia Appletalk Protocol (CAP) encoded file names.
catia Translates illegal characters in file names used by the Catia application.
commit Synchronizes cached data to disk after the size reached a specified size.
crossrename Enables server-side rename operations across file system boundaries.
default_quota Enables you to set a default quota.
dirsort Sors directory content alphabetically before sending the entries to the client.
extd_audit Records selected VFS operations.
fake_perms Enables read-only profiles by sending faked permissions to the Windows client.
fileid Generates file_id structs with unique device ID values for cluster setups.
fruit Provides enhanced compatibility with Apple Server Message Block (SMB) clients and interoperability with Netatalk 3 Apple Filing Protocol (AFP) file servers.
full_audit Records selected client operations.
gpfs Enables General Parallel File System (GPFS) specific extensions, such as ACL.
linux_xfs_sgid Enables a workaround for an old Linux XFS bug.
media_harmony Enable multiple Avid clients to share a network drive.
netatalk Hides .AppleDouble files generated by AFP clients.
offline Flags all files on a share as offline.
prealloc Preallocate matching files to a predetermined size.
preopen Assists applications that want to read numberes files in sequence with a very strict latency requirement.
readahead Pre-loads the Kernel buffer cache.
readonly On a writeable share, the module sets the share read-only for a specific time period.
recycle Moves files to a temporary directory rather than deleting them immediately.
shadow_copy Enables Windows clients to use browse snapshots as shadow copies.
shadow_copy2 Enables Windows clients to use browse snapshots as shadow copies. Contains enhanced functionality compared to the shadow_copy module.
shell_snap Runs shell scripts to create or delete a snapshot when a client issues the operation using the File Server Remote VSS Protocol (FSRVP).
snapper Exposes snapshots managed by Snapper to Windows clients as shadow copies.
streams_depot Enables storing Alternative Data Streams (ADS) in a central directory.
streams_xattr Enables ADS support.
syncops Ensures that meta data operations on a file system are performed synchronously.
time_audit Logs system calls that take longer than a defined time.
tsmsm Handles offline files with Tivoli Storage Manager Space Management.
unityed_media Enable multiple Avid clients to share a network drive. This is an enhanced version of the media_harmony module.
worm Provides Write Once Read Many (WORM) functionality.
xattr_tdb Stores extended attributes in a TDB file.

Developing VFS Modules

For details about developing Samba VFS modules, see: