# BTRFSTUNE(8) - man - phpMan

[BTRFSTUNE(8)](https://www.chedong.com/phpMan.php/man/BTRFSTUNE/8/markdown)                                Btrfs Manual                                [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
       filesystem must be unmounted.

       The common usecase 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
       **<https://btrfs.wiki.kernel.org/index.php/Changelog#By>**___**feature** . 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
### -f
           Allow dangerous changes, e.g. clear the seeding flag or change fsid. Make sure that you
           are aware of the dangers.

### -m
           (since kernel: 5.0)

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

       -M _<UUID>_
           (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 devices
           of a multi-device filesystem.

### -n
           (since kernel: 3.14)

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

### -r
           (since kernel: 3.7)

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

       -S _<0|1>_
           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
           Change fsid to a randomly generated UUID or continue previous fsid change operation in
           case it was interrupted.

       -U _<UUID>_
           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
               temporarily unmountable. To fix it, rerun _btrfstune_ _-u_ and let it complete.

### -x
           (since kernel: 3.10)

           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
       functionality 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)



Btrfs v5.16.2                                02/16/2022                                 [BTRFSTUNE(8)](https://www.chedong.com/phpMan.php/man/BTRFSTUNE/8/markdown)
