# man > btrfstune(8)

[_BTRFSTUNE_(8)](https://www.chedong.com/phpMan.php/man/BTRFSTUNE/8/markdown)                                    BTRFS                                   [_BTRFSTUNE_(8)](https://www.chedong.com/phpMan.php/man/BTRFSTUNE/8/markdown)

## NAME
       btrfstune - tune various filesystem parameters

## SYNOPSIS
       **btrfstune **[options] <device> [<device>...]

## DESCRIPTION
       **btrfstune  **can be used to enable, disable, or set various filesystem parameters. The filesys‐
       tem must be unmounted.

       The common use case is to enable features that were not enabled at mkfs  time.   Please  make
       sure that you have kernel support for the features.  You can find a complete list of features
       and  kernel  version of their introduction at _Feature_ _by_ _version_ page.  Also, the manual page
       [_mkfs.btrfs(8)](https://www.chedong.com/phpMan.php/man/mkfs.btrfs/8/markdown)_ contains more details about the features.

       Some of the features could be also enabled on a mounted filesystem by  other  means.   Please
       refer to the _FILESYSTEM_ _FEATURES_ in [_btrfs(5)](https://www.chedong.com/phpMan.php/man/btrfs/5/markdown)_.

## OPTIONS
### --convert-to-block-group-tree
              (since kernel 6.1)

              Convert  portions  of  extent  tree that tracks block groups to a separate block group
              tree. This greatly reduces mount time. Can be also enabled at mkfs time.

### --convert-from-block-group-tree
              (since kernel 6.1)

              Convert block groups tracked in standalone block group tree back to  extent  tree  and
              remove _block-group-tree_ feature bit from the filesystem.

### --convert-to-free-space-tree
              (since kernel 4.5)

              Convert to free-space-tree feature (v2 of space cache).

### -f     
              you are aware of the dangers.

### -m     

              change fsid stored as _metadata_uuid_ to a randomly generated UUID, see also _-U_

### -M _
              (since kernel: 5.0)

              change fsid stored as _metadata_uuid_ to a given UUID, see also _-U_

              The metadata_uuid is stored only in the superblock  and  is  a  backward  incompatible
              change. The fsid in metadata blocks remains unchanged and is not overwritten, thus the
              whole operation is significantly faster than _-U_.

              The  new  metadata_uuid can be used for mount by UUID and is also used to identify de‐
              vices of a multi-device filesystem.

### -n     

              Enable no-holes feature (more efficient representation of file holes), enabled by mkfs
              feature _no-holes_.

### -r     

              Enable extended inode refs (hardlink limit per file in a directory is 65536),  enabled
              by mkfs feature _extref_.

### -S _
              Enable  seeding  on a given device. Value 1 will enable seeding, 0 will disable it.  A
              seeding filesystem is forced to be mounted read-only. A new device can be added to the
              filesystem and will capture all writes keeping the seeding device  intact.   See  also
              section _SEEDING_ _DEVICE_ in [_btrfs(5)](https://www.chedong.com/phpMan.php/man/btrfs/5/markdown)_.

              **WARNING:**
                 Clearing  the  seeding  flag on a device may be dangerous.  If a previously-seeding
                 device is changed, all filesystems that used that device will  become  unmountable.
                 Setting the seeding flag back will not fix that.

                 A  valid  usecase is _seeding_ _device_ _as_ _a_ _base_ _image_. Clear the seeding flag, update
                 the filesystem and make it seeding again, provided that it's OK to throw  away  all
                 filesystems built on top of the previous base.

### -u     
              case it was interrupted.

### -U _
              Change fsid to _UUID_ in all metadata blocks.

              The  _UUID_  should  be a 36 bytes string in [**printf(3)](https://www.chedong.com/phpMan.php/man/printf/3/markdown) **format **%08x-%04x-%04x-%04x-%012x**.
              If there is a previous unfinished fsid change, it  will  continue  only  if  the  _UUID_
              matches the unfinished one or if you use the option _-u_.

              All  metadata  blocks are rewritten, this may take some time, but the final filesystem
              compatibility is unaffected, unlike _-M_.

              **WARNING:**
                 Cancelling or interrupting a UUID change operation will make  the  filesystem  tem‐
                 porarily unmountable.  To fix it, rerun **btrfstune -u **and let it complete.

### -x     

              Enable skinny metadata extent refs (more efficient representation of extents), enabled
              by mkfs feature _skinny-metadata_.

              All  newly  created  extents will use the new representation. To completely switch the
              entire  filesystem,  run  a  full  balance  of   the   metadata.   Please   refer   to
              [_btrfs-balance(8)](https://www.chedong.com/phpMan.php/man/btrfs-balance/8/markdown)_.

## EXIT STATUS
       **btrfstune **returns 0 if no error happened, 1 otherwise.

## COMPATIBILITY NOTE
       This  deprecated tool exists for historical reasons but is still in use today.  Its function‐
       ality will be merged to the main tool, at which time **btrfstune **will be declared obsolete  and
       scheduled for removal.

## SEE ALSO
       [_btrfs(5)](https://www.chedong.com/phpMan.php/man/btrfs/5/markdown)_, [_btrfs-balance(8)](https://www.chedong.com/phpMan.php/man/btrfs-balance/8/markdown)_, [_mkfs.btrfs(8)](https://www.chedong.com/phpMan.php/man/mkfs.btrfs/8/markdown)_


6.6.3                                       Mar 31, 2024                                [_BTRFSTUNE_(8)](https://www.chedong.com/phpMan.php/man/BTRFSTUNE/8/markdown)
