MKFS.BTRFS(8)              System Manager's Manual             MKFS.BTRFS(8)

NAME         top

       mkfs.btrfs - create a btrfs filesystem

SYNOPSIS         top

       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 ... ]

DESCRIPTION         top

       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.

OPTIONS         top

       -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

       -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 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.

       -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.

UNIT         top

       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...

AVAILABILITY         top

       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 for further details.

SEE ALSO         top


COLOPHON         top

       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
       2014-09-21.  If you discover any rendering problems in this HTML ver‐
       sion 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 man‐
       ual page), send a mail to