vfs_btrfs 8 Samba System Administration tools &doc.version;
vfs_btrfs Utilize features provided by the Btrfs filesystem
`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.

    		btrfs
    		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".

    		fork
    		yes
    		registry

    		btrfs shadow_copy
    		yes

## VERSION

This man page is part of version &doc.version; 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.