vfs_btrfs - Man Page
Utilize features provided by the Btrfs filesystem
Synopsis
vfs objects = btrfs
Description
This VFS module is part of the samba(8) suite.
The vfs_btrfs VFS module exposes Btrfs specific features for use by Samba.
Btrfs allows for multiple files to share the same on-disk data through the use cloned ranges. When an SMB client issues a request to copy duplicate data (via FSCTL_SRV_COPYCHUNK), this module maps the request to a Btrfs clone range IOCTL, instead of performing reads and writes required by a traditional copy. Doing so saves storage capacity and greatly reduces disk IO.
This module also exposes Btrfs per-file compression support to SMB clients via the get/set compression fsctls.
Btrfs snapshots can be manipulated by Samba's FSRVP server. Snapshot manipulation using this module is currently considered experimental, and is therefore disabled by default. The vfs_snapper module is instead recommended for this purpose.
This module is stackable.
Options
btrfs: manipulate snapshots = [yes|no]
When set to yes, experimental support for the creation and deletion of snapshots via corresponding Btrfs IOCTLs will be enabled. The default is no, which means that such requests are passed through to any underlying VFS module.
Configuration
vfs_btrfs requires that the underlying share path is a Btrfs subvolume.
[share] vfs objects = btrfs btrfs: manipulate snapshots = no
To use the experimental snapshot manipulation functionality provided by this module, it must be explicitly enabled, and Samba's FSRVP server must be running.
The vfs_shadow_copy module can be used to expose snapshots created by vfs_btrfs to Windows Explorer as file / directory "previous versions".
[global] registry shares = yes include = registry [share] vfs objects = btrfs shadow_copy btrfs: manipulate snapshots = yes
Version
This man page is part of version 4.21.1 of the Samba suite.
Author
The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.