summaryrefslogtreecommitdiff
path: root/Documentation/btrfs.asciidoc
blob: 1c37abf8887099d68431aa8639f1db6c0b9d4592 (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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
btrfs(8)
========

NAME
----
btrfs - a toolbox to manage btrfs filesystems

SYNOPSIS
--------
*btrfs* <command> [<args>]

DESCRIPTION
-----------
The *btrfs* utility is a toolbox for managing btrfs filesystems.  There are
command groups to work with subvolumes, devices, for whole filesystem or other
specific actions. See section *COMMANDS*.

There are also standalone tools for some tasks like *btrfs-convert* or
*btrfstune* that were separate historically and/or haven't been merged to the
main utility. See section 'STANDALONE TOOLS' for more details.

COMMAND SYNTAX
--------------

Any command name can be shortened as far as it stays unambiguous,
however it is recommended to use full command names in scripts.
All command groups have their manual page named *btrfs-<group>*.

For example: it is possible to run *btrfs sub snaps* instead of
*btrfs subvolume snapshot*.
But *btrfs file s* is not allowed, because *file s* may be interpreted
both as *filesystem show* and as *filesystem sync*.

If the command name is ambiguous, the list of conflicting options is
printed.

For an overview of a given command use 'btrfs command --help'
or 'btrfs [command...] --help --full' to print all available options.

COMMANDS
--------
*balance*::
	Balance btrfs filesystem chunks across single or several devices. +
	See `btrfs-balance`(8) for details.

*check*::
	Do off-line check on a btrfs filesystem. +
	See `btrfs-check`(8) for details.

*device*::
	Manage devices managed by btrfs, including add/delete/scan and so
	on. +
	See `btrfs-device`(8) for details.

*filesystem*::
	Manage a btrfs filesystem, including label setting/sync and so on. +
	See `btrfs-filesystem`(8) for details.

*inspect-internal*::
	Debug tools for developers/hackers. +
	See `btrfs-inspect-internal`(8) for details.

*property*::
	Get/set a property from/to a btrfs object. +
	See `btrfs-property`(8) for details.

*qgroup*::
	Manage quota group(qgroup) for btrfs filesystem. +
	See `btrfs-qgroup`(8) for details.

*quota*::
	Manage quota on btrfs filesystem like enabling/rescan and etc. +
	See `btrfs-quota`(8) and `btrfs-qgroup`(8) for details.

*receive*::
	Receive subvolume data from stdin/file for restore and etc. +
	See `btrfs-receive`(8) for details.

*replace*::
	Replace btrfs devices. +
	See `btrfs-replace`(8) for details.

*rescue*::
	Try to rescue damaged btrfs filesystem. +
	See `btrfs-rescue`(8) for details.

*restore*::
	Try to restore files from a damaged btrfs filesystem. +
	See `btrfs-restore`(8) for details.

*scrub*::
	Scrub a btrfs filesystem. +
	See `btrfs-scrub`(8) for details.

*send*::
	Send subvolume data to stdout/file for backup and etc. +
	See `btrfs-send`(8) for details.

*subvolume*::
	Create/delete/list/manage btrfs subvolume. +
	See `btrfs-subvolume`(8) for details.

STANDALONE TOOLS
----------------

There are several standalone tools to provide certain functionality. If the
functionality proves to be useful, the standalone tools are declared obsolete
and their functionality copied to the main tool. The deprecation period is long
(years) and the obsolete binaries are still provided.

Tools that are still in active use without an equivalent in *btrfs*:

*btrfs-convert*:: in-place conversion from ext2/3/4 filesystems to btrfs
*btrfstune*:: tweak some filesystem properties on a unmounted filesystem
*btrfs-select-super*:: rescue tool to overwrite primary superblock from a spare copy
*btrfs-find-root*:: rescue helper to find tree roots in a filesystem

Deprecated and obsolete tools:

*btrfs-debug-tree*:: moved to *btrfs inspect-internal dump-tree*
*btrfs-show-super*:: moved to *btrfs inspect-internal dump-super*
*btrfs-zero-log*:: moved to *btrfs rescue zero-log*

EXIT STATUS
-----------
*btrfs* returns a zero exit status if it succeeds. Non zero is returned in
case of failure.

AVAILABILITY
------------
*btrfs* is part of btrfs-progs.
Please refer to the btrfs wiki http://btrfs.wiki.kernel.org for
further details.

SEE ALSO
--------
`btrfs-balance`(8),
`btrfs-check`(8),
`btrfs-convert`(8),
`btrfs-device`(8),
`btrfs-filesystem`(8),
`btrfs-inspect-internal`(8),
`btrfs-property`(8),
`btrfs-qgroup`(8),
`btrfs-quota`(8),
`btrfs-receive`(8),
`btrfs-replace`(8),
`btrfs-rescue`(8),
`btrfs-restore`(8),
`btrfs-scrub`(8),
`btrfs-send`(8),
`btrfs-subvolume`(8),
`btrfstune`(8),
`mkfs.btrfs`(8)