mkfs.btrfs [ -A alloc-start ] [ -b
byte-count ] [ -d data-profile ] [ -f ] [
-n nodesize ] [ -l leafsize ] [ -L
label ] [ -m metadata profile ] [ -M mixed
data+metadata ] [ -s sectorsize ] [ -r
rootdir ] [ -K ] [ -O feature1,feature2,... ] [
-h ] [ -V ] device [ device ... ]
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 specified devices.
- -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 the device.
- -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 filesystem.
- -d, --data
type
- Specify how the data must be spanned across the devices specified. Valid
values are raid0, raid1, raid5, raid6, raid10 or single.
- -f, --force
- 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 the page size.
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.
- -M, --mixed
- 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.
- -K, --nodiscard
- 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.
As default the unit is the byte, however it is possible to append
a suffix to the arguments like k for KBytes, m for
MBytes...
mkfs.btrfs is part of btrfs-tools. 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.