summaryrefslogtreecommitdiffstats
path: root/upstream/archlinux/man8/vfs_btrfs.8
blob: 61cecb61322ec32fa4c0f6d000b0fb5146eab91f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
'\" t
.\"     Title: vfs_btrfs
.\"    Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\"      Date: 05/09/2024
.\"    Manual: System Administration tools
.\"    Source: Samba 4.20.1
.\"  Language: English
.\"
.TH "VFS_BTRFS" "8" "05/09/2024" "Samba 4\&.20\&.1" "System Administration tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
vfs_btrfs \- Utilize features provided by the Btrfs filesystem
.SH "SYNOPSIS"
.HP \w'\ 'u
vfs objects = btrfs
.SH "DESCRIPTION"
.PP
This VFS module is part of the
\fBsamba\fR(8)
suite\&.
.PP
The
vfs_btrfs
VFS module exposes Btrfs specific features for use by Samba\&.
.PP
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\&.
.PP
This module also exposes Btrfs per\-file compression support to SMB clients via the get/set compression fsctls\&.
.PP
Btrfs snapshots can be manipulated by Samba\*(Aqs 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\&.
.PP
This module is stackable\&.
.SH "OPTIONS"
.PP
btrfs: manipulate snapshots = [yes|no]
.RS 4
When set to
\fIyes\fR, experimental support for the creation and deletion of snapshots via corresponding Btrfs IOCTLs will be enabled\&. The default is
\fIno\fR, which means that such requests are passed through to any underlying VFS module\&.
.RE
.SH "CONFIGURATION"
.PP
vfs_btrfs
requires that the underlying share path is a Btrfs subvolume\&.
.sp
.if n \{\
.RS 4
.\}
.nf
		\fI[share]\fR
		\m[blue]\fBvfs objects = btrfs\fR\m[]
		\m[blue]\fBbtrfs: manipulate snapshots = no\fR\m[]
	
.fi
.if n \{\
.RE
.\}
.PP
To use the experimental snapshot manipulation functionality provided by this module, it must be explicitly enabled, and Samba\*(Aqs FSRVP server must be running\&.
.PP
The
vfs_shadow_copy
module can be used to expose snapshots created by
vfs_btrfs
to Windows Explorer as file / directory "previous versions"\&.
.sp
.if n \{\
.RS 4
.\}
.nf
		\fI[global]\fR
		\m[blue]\fBregistry shares = yes\fR\m[]
		\m[blue]\fBinclude = registry\fR\m[]

		\fI[share]\fR
		\m[blue]\fBvfs objects = btrfs shadow_copy\fR\m[]
		\m[blue]\fBbtrfs: manipulate snapshots = yes\fR\m[]
	
.fi
.if n \{\
.RE
.\}
.SH "VERSION"
.PP
This man page is part of version 4\&.20\&.1 of the Samba suite\&.
.SH "AUTHOR"
.PP
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\&.