Virtual File System Modules: Difference between revisions
From SambaWiki
Mmuehlfeld (talk | contribs) (Fixed description of acl_xattr) |
m (fix Btrfs VFS module description) |
||
(3 intermediate revisions by one other user not shown) | |||
Line 14: | Line 14: | ||
{| class="wikitable" |
{| class="wikitable" |
||
!Name of the VFS Module |
!Name of the VFS Module |
||
!Feature |
!Feature Provided by the Module |
||
|- |
|- |
||
|[[Using the acl_tdb VFS Module|acl_tdb]] |
|[[Using the acl_tdb VFS Module|acl_tdb]] |
||
|Stores Windows Access Control Lists (ACL) in a Trivial Database (TDB) file. |
|||
⚫ | |||
|- |
|- |
||
|[[Using the acl_xattr VFS Module|acl_xattr]] |
|[[Using the acl_xattr VFS Module|acl_xattr]] |
||
|Enables to use |
|Enables to use fine-granular Windows ACL. |
||
|- |
|- |
||
|[[Using the aio_fork VFS Module|aio_fork]] |
|[[Using the aio_fork VFS Module|aio_fork]] |
||
|Implements asynchronous I/O in a VFS module. |
|||
| |
|||
|- |
|- |
||
|[[Using the aio_linux VFS Module|aio_linux]] |
|[[Using the aio_linux VFS Module|aio_linux]] |
||
|Implements asynchronous I/O in a VFS module using Linux kernel AIO calls. |
|||
| |
|||
|- |
|- |
||
|[[Using the aio_pthread VFS Module|aio_pthread]] |
|[[Using the aio_pthread VFS Module|aio_pthread]] |
||
|Implements asynchronous I/O in a VFS using a <code>pthread</code> pool. |
|||
| |
|||
|- |
|- |
||
|[[Using the audit VFS Module|audit]] |
|[[Using the audit VFS Module|audit]] |
||
|Logs client operations. |
|||
| |
|||
|- |
|- |
||
|[[Using the btrfs VFS Module|btrfs]] |
|[[Using the btrfs VFS Module|btrfs]] |
||
|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]] |
||
|Prime the Kernel file data cache. |
|||
| |
|||
|- |
|- |
||
|[[Using the cap VFS Module|cap]] |
|[[Using the cap VFS Module|cap]] |
||
|Provides support for Columbia Appletalk Protocol (CAP) encoded file names. |
|||
| |
|||
|- |
|- |
||
|[[Using the catia VFS Module|catia]] |
|[[Using the catia VFS Module|catia]] |
||
|Translates illegal characters in file names used by the <code>Catia</code> application. |
|||
| |
|||
|- |
|- |
||
|[[Using the commit VFS Module|commit]] |
|[[Using the commit VFS Module|commit]] |
||
|Synchronizes cached data to disk after the size reached a specified size. |
|||
| |
|||
|- |
|- |
||
|[[Using the crossrename VFS Module|crossrename]] |
|[[Using the crossrename VFS Module|crossrename]] |
||
|Enables server-side rename operations across file system boundaries. |
|||
| |
|||
|- |
|- |
||
|[[Using the default_quota VFS Module|default_quota]] |
|[[Using the default_quota VFS Module|default_quota]] |
||
|Enables you to set a default quota. |
|||
| |
|||
|- |
|- |
||
|[[Using the dirsort VFS Module|dirsort]] |
|[[Using the dirsort VFS Module|dirsort]] |
||
|Sors directory content alphabetically before sending the entries to the client. |
|||
| |
|||
|- |
|- |
||
|[[Using the extd_audit VFS Module|extd_audit]] |
|[[Using the extd_audit VFS Module|extd_audit]] |
||
|Records selected VFS operations. |
|||
| |
|||
|- |
|- |
||
|[[Using the fake_perms VFS Module|fake_perms]] |
|[[Using the fake_perms VFS Module|fake_perms]] |
||
|Enables read-only profiles by sending faked permissions to the Windows client. |
|||
| |
|||
|- |
|- |
||
|[[Using the fileid VFS Module|fileid]] |
|[[Using the fileid VFS Module|fileid]] |
||
|Generates <code>file_id</code> structs with unique device ID values for cluster setups. |
|||
| |
|||
|- |
|- |
||
|[[Using the fruit VFS Module|fruit]] |
|[[Using the fruit VFS Module|fruit]] |
||
|Provides enhanced compatibility with Apple Server Message Block (SMB) clients and interoperability with Netatalk 3 Apple Filing Protocol (AFP) file servers. |
|||
| |
|||
|- |
|- |
||
|[[Using the full_audit VFS Module|full_audit]] |
|[[Using the full_audit VFS Module|full_audit]] |
||
|Records selected client operations. |
|||
| |
|||
|- |
|- |
||
|[[Using the gpfs VFS Module|gpfs]] |
|[[Using the gpfs VFS Module|gpfs]] |
||
|Enables General Parallel File System (GPFS) specific extensions, such as ACL. |
|||
| |
|||
|- |
|- |
||
|[[Using the linux_xfs_sgid VFS Module|linux_xfs_sgid]] |
|[[Using the linux_xfs_sgid VFS Module|linux_xfs_sgid]] |
||
|Enables a workaround for an old Linux XFS bug. |
|||
| |
|||
|- |
|- |
||
|[[Using the media_harmony VFS Module|media_harmony]] |
|[[Using the media_harmony VFS Module|media_harmony]] |
||
|Enable multiple <code>Avid</code> clients to share a network drive. |
|||
| |
|||
|- |
|- |
||
|[[Using the netatalk VFS Module|netatalk]] |
|[[Using the netatalk VFS Module|netatalk]] |
||
|Hides <code>.AppleDouble</code> files generated by AFP clients. |
|||
| |
|||
|- |
|- |
||
|[[Using the offline VFS Module|offline]] |
|[[Using the offline VFS Module|offline]] |
||
|Flags all files on a share as offline. |
|||
| |
|||
|- |
|- |
||
|[[Using the prealloc VFS Module|prealloc]] |
|[[Using the prealloc VFS Module|prealloc]] |
||
|Preallocate matching files to a predetermined size. |
|||
| |
|||
|- |
|- |
||
|[[Using the preopen VFS Module|preopen]] |
|[[Using the preopen VFS Module|preopen]] |
||
|Assists applications that want to read numberes files in sequence with a very strict latency requirement. |
|||
| |
|||
|- |
|- |
||
|[[Using the readahead VFS Module|readahead]] |
|[[Using the readahead VFS Module|readahead]] |
||
|Pre-loads the Kernel buffer cache. |
|||
| |
|||
|- |
|- |
||
|[[Using the readonly VFS Module|readonly]] |
|[[Using the readonly VFS Module|readonly]] |
||
|On a writeable share, the module sets the share read-only for a specific time period. |
|||
| |
|||
|- |
|- |
||
|[[Using the recycle VFS Module|recycle]] |
|[[Using the recycle VFS Module|recycle]] |
||
|Moves files to a temporary directory rather than deleting them immediately. |
|||
| |
|||
|- |
|||
⚫ | |||
| |
|||
|- |
|- |
||
|[[Using the shadow_copy VFS Module|shadow_copy]] |
|[[Using the shadow_copy VFS Module|shadow_copy]] |
||
|Enables Windows clients to use browse snapshots as shadow copies. |
|||
| |
|||
⚫ | |||
⚫ | |||
|Enables Windows clients to use browse snapshots as shadow copies. Contains enhanced functionality compared to the <code>shadow_copy</code> module. |
|||
|- |
|- |
||
|[[Using the shell_snap VFS Module|shell_snap]] |
|[[Using the shell_snap VFS 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). |
|||
| |
|||
|- |
|- |
||
|[[Using the snapper VFS Module|snapper]] |
|[[Using the snapper VFS Module|snapper]] |
||
|Exposes snapshots managed by <code>Snapper</code> to Windows clients as shadow copies. |
|||
| |
|||
|- |
|- |
||
|[[Using the streams_depot VFS Module|streams_depot]] |
|[[Using the streams_depot VFS Module|streams_depot]] |
||
|Enables storing Alternative Data Streams (ADS) in a central directory. |
|||
| |
|||
|- |
|- |
||
|[[Using the streams_xattr VFS Module|streams_xattr]] |
|[[Using the streams_xattr VFS Module|streams_xattr]] |
||
|Enables ADS support. |
|||
| |
|||
|- |
|- |
||
|[[Using the syncops VFS Module|syncops]] |
|[[Using the syncops VFS Module|syncops]] |
||
|Ensures that meta data operations on a file system are performed synchronously. |
|||
| |
|||
|- |
|- |
||
|[[Using the time_audit VFS Module|time_audit]] |
|[[Using the time_audit VFS Module|time_audit]] |
||
|Logs system calls that take longer than a defined time. |
|||
| |
|||
|- |
|- |
||
|[[Using the tsmsm VFS Module|tsmsm]] |
|[[Using the tsmsm VFS Module|tsmsm]] |
||
|Handles offline files with <code>Tivoli Storage Manager Space Management</code>. |
|||
| |
|||
|- |
|- |
||
|[[Using the unityed_media VFS Module|unityed_media]] |
|[[Using the unityed_media VFS Module|unityed_media]] |
||
|Enable multiple <code>Avid</code> clients to share a network drive. This is an enhanced version of the <code>media_harmony</code> module. |
|||
| |
|||
|- |
|- |
||
|[[Using the worm VFS Module|worm]] |
|[[Using the worm VFS Module|worm]] |
||
Line 137: | Line 137: | ||
|- |
|- |
||
|[[Using the xattr_tdb VFS Module|xattr_tdb]] |
|[[Using the xattr_tdb VFS Module|xattr_tdb]] |
||
|Stores extended attributes in a TDB file. |
|||
| |
|||
|} |
|} |
||
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:
- Writing a Samba VFS Module (Samba 4.0 and later)
- The new version of Writing a Samba VFS (Samba 3.6 and earlier)