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
|
.TH MKFS.BTRFS 8
.SH NAME
mkfs.btrfs \- create a btrfs filesystem
.SH SYNOPSIS
.B mkfs.btrfs
[ \fB\-A\fP\fI alloc-start\fP ]
[ \fB\-b\fP\fI byte-count\fP ]
[ \fB\-d\fP\fI data-profile\fP ]
[ \fB\-f\fP\fI ]
[ \fB\-l\fP\fI leafsize\fP ]
[ \fB\-L\fP\fI label\fP ]
[ \fB\-m\fP\fI metadata profile\fP ]
[ \fB\-M\fP\fI mixed data+metadata\fP ]
[ \fB\-n\fP\fI nodesize\fP ]
[ \fB\-s\fP\fI sectorsize\fP ]
[ \fB\-r\fP\fI rootdir\fP ]
[ \fB\-K\fP ]
[ \fB\-h\fP ]
[ \fB\-V\fP ]
\fI device\fP [ \fIdevice ...\fP ]
.SH DESCRIPTION
.B mkfs.btrfs
is used to create a btrfs filesystem (usually in a disk partition, or an array
of disk partitions).
.I device
is the special file corresponding to the device (e.g \fI/dev/sdXX\fP ).
If multiple \fI devices \fP are specified, btrfs is created
spanning across the specified \fI devices\fP.
.SH OPTIONS
.TP
\fB\-A\fR, \fB\-\-alloc\-start \fIoffset\fR
Specify the offset from the start of the device to start the btrfs filesystem. The default value is zero, or the start of the device.
.TP
\fB\-b\fR, \fB\-\-byte\-count \fIsize\fR
Specify the size of the resultant filesystem. If this option is not used,
mkfs.btrfs uses all the available storage for the filesystem.
.TP
\fB\-d\fR, \fB\-\-data \fItype\fR
Specify how the data must be spanned across the devices specified. Valid
values are raid0, raid1, raid5, raid6, raid10 or single.
.TP
\fB\-f\fR, \fB\-\-force\fR
Force overwrite when an existing filesystem is detected on the device.
By default, mkfs.btrfs will not write to the device if it suspects that
there is a filesystem or partition table on the device already.
.TP
\fB\-l\fR, \fB\-\-leafsize \fIsize\fR
Specify the leaf size, the least data item in which btrfs stores data. The
default value is the page size.
.TP
\fB\-L\fR, \fB\-\-label \fIname\fR
Specify a label for the filesystem.
.TP
\fB\-m\fR, \fB\-\-metadata \fIprofile\fR
Specify how metadata must be spanned across the devices specified. Valid
values are raid0, raid1, raid5, raid6, raid10, single or dup. Single device
will have dup set by default except in the case of SSDs which will default to
single. This is because SSDs can remap blocks internally so duplicate blocks
could end up in the same erase block which negates the benefits of doing
metadata duplication.
.TP
\fB\-M\fR, \fB\-\-mixed\fR
Mix data and metadata chunks together for more efficient space
utilization. This feature incurs a performance penalty in
larger filesystems. It is recommended for use with filesystems
of 1 GiB or smaller.
.TP
\fB\-n\fR, \fB\-\-nodesize \fIsize\fR
Specify the nodesize. By default the value is set to the pagesize.
.TP
\fB\-s\fR, \fB\-\-sectorsize \fIsize\fR
Specify the sectorsize, the minimum block allocation.
.TP
\fB\-r\fR, \fB\-\-rootdir \fIrootdir\fR
Specify a directory to copy into the newly created fs.
.TP
\fB\-K\fR, \fB\-\-nodiscard \fR
Do not perform whole device TRIM operation by default.
.TP
\fB\-V\fR, \fB\-\-version\fR
Print the \fBmkfs.btrfs\fP version and exit.
.SH UNIT
As default the unit is the byte, however it is possible to append a suffix
to the arguments like \fBk\fP for KBytes, \fBm\fP for MBytes...
.SH AVAILABILITY
.B mkfs.btrfs
is part of btrfs-progs. Btrfs is currently under heavy development,
and not suitable for any uses other than benchmarking and review.
Please refer to the btrfs wiki
http://btrfs.wiki.kernel.org for further details.
.SH SEE ALSO
.BR btrfsck (8)
|