VFS_BTRFS(8)

NAME
vfs_btrfs - 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 explicity 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]
    		rpc_daemon:fssd = fork
    		registry shares = yes
    		include = registry
    		[share]
    		vfs objects = btrfs shadow_copy
    		btrfs: manipulate snapshots = yes

VERSION

This man page is correct for version 4.3.0 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.