mkfs.btrfs is used to create a btrfs filesystem (usually in a disk
partition, or an array of disk partitions). device is the special
file corresponding to the device (e.g /dev/sdXX ). If multiple
devices are specified, btrfs is created spanning across the
-A, --alloc-start offset
Specify the offset from the start of the device to start the
btrfs filesystem. The default value is zero, or the start of
-b, --byte-count size
Specify the size of the resultant filesystem. If this option
is not used, mkfs.btrfs uses all the available storage for the
-d, --data type
Specify how the data must be spanned across the devices
specified. Valid values are raid0, raid1, raid5, raid6, raid10
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.
-n, --nodesize size-l, --leafsize size Specify the nodesize, the tree block size
in which btrfs stores data. The default value is 16KB (16384)
or the page size, whichever is bigger. Must be a multiple of
the sectorsize, but not larger than 65536. Leafsize always
equals nodesize and the options are aliases.
-L, --label name
Specify a label for the filesystem.
-m, --metadata profile
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.
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.
-s, --sectorsize size
Specify the sectorsize, the minimum data block allocation
unit. The default value is the page size. If the sectorsize
differs from the page size, the created filesystem may not be
mountable by current kernel. Therefore it is not recommended
to use this option unless you are going to mount it on a
system with the appropriate page size.
-r, --rootdir rootdir
Specify a directory to copy into the newly created fs.
Do not perform whole device TRIM operation by default.
-O, --features feature1,feature2,...
A list of filesystem features turned on at mkfs time. Not all
features are supported by old kernels.
To see all run
mkfs.btrfs -O list-all-V, --version
Print the mkfs.btrfs version and exit.
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.
This page is part of the btrfs-progs (btrfs filesystem tools)
project. Information about the project can be found at
If you have a bug report for this manual page, see
This page was obtained from the project's upstream Git repository
on 2015-10-19. If you discover any rendering problems in this HTML
version of the page, or you believe there is a better or more up-to-
date source for the page, or you have corrections or improvements to
the information in this COLOPHON (which is not part of the original
manual page), send a mail to email@example.com