Manpage/btrfstune

From btrfs Wiki
(Difference between revisions)
Jump to: navigation, search
m (Protected "Manpage/btrfstune": Counter-productive edit warring (‎[edit=sysop] (indefinite) ‎[move=sysop] (indefinite)))
(git 5.4)
 
Line 11: Line 11:
 
==DESCRIPTION==
 
==DESCRIPTION==
  
<p><b>btrfstune</b> can be used to enable, disable or set various filesystem
+
<p><b>btrfstune</b> can be used to enable, disable, or set various filesystem
 
parameters. The filesystem must be unmounted.</p>
 
parameters. The filesystem must be unmounted.</p>
 
<p>The common usecase is to enable features that were not enabled at mkfs time.
 
<p>The common usecase is to enable features that were not enabled at mkfs time.
Line 18: Line 18:
 
https://btrfs.wiki.kernel.org/index.php/Changelog#By_feature .  Also, the
 
https://btrfs.wiki.kernel.org/index.php/Changelog#By_feature .  Also, the
 
manual page [[Manpage/mkfs.btrfs|mkfs.btrfs(8)]] contains more details about the features.</p>
 
manual page [[Manpage/mkfs.btrfs|mkfs.btrfs(8)]] contains more details about the features.</p>
<p>Some of the features could be enabled on a mounted filesystem. Please refer to
+
<p>Some of the features could be also enabled on a mounted filesystem by other
the respective section in [[Manpage/btrfs|btrfs(5)]].</p>
+
means. Please refer to the <em>FILESYSTEM FEATURES</em> in [[Manpage/btrfs|btrfs(5)]].</p>
 
==OPTIONS==
 
==OPTIONS==
  
 
<dl>
 
<dl>
 
<dt>
 
<dt>
-S <em>&lt;0|1&gt;</em>
+
-f
 
<dd>
 
<dd>
 
<p>
 
<p>
Enable seeding on a given device. Value 1 will enable seeding, 0 will disable it.<br/>
+
Allow dangerous changes, e.g. clear the seeding flag or change fsid. Make sure
A seeding filesystem is forced to be mounted read-only. A new device can be added
+
that you are aware of the dangers.
to the filesystem and will capture all writes keeping the seeding device intact.
+
 
</p>
 
</p>
  
 
<dt>
 
<dt>
-r
+
-m
 
<dd>
 
<dd>
 
<p>
 
<p>
(since kernel: 3.7)
+
(since kernel: 5.0)
 
</p>
 
</p>
<p>Enable extended inode refs (hardlink limit per file in a directory is 65536),
+
<p>change fsid stored as <em>metadata_uuid</em> to a randomly generated UUID,
enabled by mkfs feature <em>extref</em>.</p>
+
see also <em>-U</em></p>
  
 
<dt>
 
<dt>
-x
+
-M <em>&lt;UUID&gt;</em>
 
<dd>
 
<dd>
 
<p>
 
<p>
(since kernel: 3.10)
+
(since kernel: 5.0)
 
</p>
 
</p>
<p>Enable skinny metadata extent refs (more efficient representation of extents),
+
<p>change fsid stored as <em>metadata_uuid</em> to a given UUID, see also <em>-U</em></p>
enabled by mkfs feature <em>skinny-metadata</em>.</p>
+
<p>The metadata_uuid is stored only in the superblock and is a backward
<p>All newly created extents will use the new representation. To completely switch
+
incompatible change. The fsid in metadata blocks remains unchanged and
the entire filesystem, run a full balance of the metadata. Please refer to
+
is not overwritten, thus the whole operation is significantly faster than
[[Manpage/btrfs-balance|btrfs-balance(8)]].</p>
+
<em>-U</em>.</p>
 +
<p>The new metadata_uuid can be used for mount by UUID and is also used to
 +
identify devices of a multi-device filesystem.</p>
  
 
<dt>
 
<dt>
Line 63: Line 64:
  
 
<dt>
 
<dt>
-f
+
-r
 
<dd>
 
<dd>
 
<p>
 
<p>
Allow dangerous changes, e.g. clear the seeding flag or change fsid. Make sure
+
(since kernel: 3.7)
that you are aware of the dangers.
+
 
</p>
 
</p>
 +
<p>Enable extended inode refs (hardlink limit per file in a directory is 65536),
 +
enabled by mkfs feature <em>extref</em>.</p>
 +
 +
<dt>
 +
-S <em>&lt;0|1&gt;</em>
 +
<dd>
 +
<p>
 +
Enable seeding on a given device. Value 1 will enable seeding, 0 will disable it.<br/>
 +
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.
 +
</p>
 +
<blockquote><b>Warning:</b>
 +
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.<br/>
 +
A valid usecase is <em>seeding device as a base image</em>. Clear the seeding
 +
flag, update the filesystem and make it seeding again, provided that it&#8217;s OK
 +
to throw away all filesystems built on top of the previous base.</blockquote>
  
 
<dt>
 
<dt>
Line 82: Line 101:
 
<dd>
 
<dd>
 
<p>
 
<p>
Change fsid to <em>UUID</em>.
+
Change fsid to <em>UUID</em> in all metadata blocks.
 
</p>
 
</p>
 
<p>The <em>UUID</em> should be a 36 bytes string in [http://man7.org/linux/man-pages/man3/printf.3.html printf(3)] format
 
<p>The <em>UUID</em> should be a 36 bytes string in [http://man7.org/linux/man-pages/man3/printf.3.html printf(3)] format
Line 88: Line 107:
 
If there is a previous unfinished fsid change, it will continue only if the
 
If there is a previous unfinished fsid change, it will continue only if the
 
<em>UUID</em> matches the unfinished one or if you use the option <em>-u</em>.</p>
 
<em>UUID</em> matches the unfinished one or if you use the option <em>-u</em>.</p>
 
+
<p>All metadata blocks are rewritten, this may take some time, but the final
</dl>
+
filesystem compatibility is unaffected, unlike <em>-M</em>.</p>
 
<blockquote><b>Warning:</b>
 
<blockquote><b>Warning:</b>
 
Cancelling or interrupting a UUID change operation will make the
 
Cancelling or interrupting a UUID change operation will make the
filesystem temporarily unmountable.  To fix it, rerun <em>btrfstune -u</em> to restore
+
filesystem temporarily unmountable.  To fix it, rerun <em>btrfstune -u</em> and let
the UUID and let it complete.</blockquote>
+
it complete.</blockquote>
<blockquote><b>Warning:</b>
+
 
Clearing the seeding flag on a device may be dangerous.
+
<dt>
If a previously-seeding device is changed, all filesystems that used that
+
-x
device will become unmountable. Setting the seeding flag back will not fix
+
<dd>
that.<br/>
+
<p>
A valid usecase is <em>seeding device as a base image</em>. Clear the seeding
+
(since kernel: 3.10)
flag, update the filesystem and make it seeding again, provided that it&#8217;s OK
+
</p>
to throw away all filesystems built on top of the previous base.</blockquote>
+
<p>Enable skinny metadata extent refs (more efficient representation of extents),
 +
enabled by mkfs feature <em>skinny-metadata</em>.</p>
 +
<p>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
 +
[[Manpage/btrfs-balance|btrfs-balance(8)]].</p>
 +
 
 +
</dl>
 
==EXIT STATUS==
 
==EXIT STATUS==
  
Line 107: Line 132:
 
==COMPATIBILITY NOTE==
 
==COMPATIBILITY NOTE==
  
<p>This tool exists for historical reasons but is still in use today. The
+
<p>This deprecated tool exists for historical reasons but is still in use today.
functionality is about to be merged to the main tool someday and <b>btrfstune</b>
+
Its functionality will be merged to the main tool, at which time <b>btrfstune</b>
will become deprecated and removed afterwards.</p>
+
will be declared obsolete and scheduled for removal.</p>
 
==SEE ALSO==
 
==SEE ALSO==
  

Latest revision as of 17:51, 16 January 2020

Contents

[edit] btrfstune(8) manual page

Warning: this page is automatically generated from git, all edits will be lost. Current git version.


[edit] NAME

btrfstune - tune various filesystem parameters

[edit] SYNOPSIS

btrfstune [options] <device> [<device>…]

[edit] 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) 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).

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

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

[edit] EXIT STATUS

btrfstune returns 0 if no error happened, 1 otherwise.

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

[edit] SEE ALSO

btrfs(5), btrfs-balance(8), mkfs.btrfs(8)

Personal tools