2014-06-11 22:14:55 +00:00
|
|
|
btrfs-mount(5)
|
|
|
|
==============
|
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
2014-06-26 20:38:33 +00:00
|
|
|
btrfs-mount - mount options and supported file attributes for the btrfs filesystem
|
2014-06-11 22:14:55 +00:00
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
|
|
|
This document describes mount options specific to the btrfs filesystem.
|
|
|
|
Other generic mount options are available,and are described in the
|
|
|
|
`mount`(8) manpage.
|
|
|
|
|
|
|
|
MOUNT OPTIONS
|
|
|
|
-------------
|
|
|
|
*alloc_start='bytes'*::
|
|
|
|
Debugging option to force all block allocations above a certain
|
|
|
|
byte threshold on each block device. The value is specified in
|
|
|
|
bytes, optionally with a K, M, or G suffix, case insensitive.
|
|
|
|
Default is 1MB.
|
|
|
|
|
|
|
|
*autodefrag*::
|
|
|
|
Disable/enable auto defragmentation.
|
|
|
|
Auto defragmentation detects small random writes into files and queue
|
|
|
|
them up for the defrag process. Works best for small files;
|
|
|
|
Not well suited for large database workloads.
|
|
|
|
|
|
|
|
*check_int*|*check_int_data*|*check_int_print_mask='value'*::
|
|
|
|
These debugging options control the behavior of the integrity checking
|
|
|
|
module (the BTRFS_FS_CHECK_INTEGRITY config option required). +
|
|
|
|
+
|
|
|
|
`check_int` enables the integrity checker module, which examines all
|
|
|
|
block write requests to ensure on-disk consistency, at a large
|
|
|
|
memory and CPU cost. +
|
|
|
|
+
|
|
|
|
`check_int_data` includes extent data in the integrity checks, and
|
|
|
|
implies the check_int option. +
|
|
|
|
+
|
|
|
|
`check_int_print_mask` takes a bitmask of BTRFSIC_PRINT_MASK_* values
|
|
|
|
as defined in 'fs/btrfs/check-integrity.c', to control the integrity
|
|
|
|
checker module behavior. +
|
|
|
|
+
|
|
|
|
See comments at the top of 'fs/btrfs/check-integrity.c'
|
|
|
|
for more info.
|
|
|
|
|
|
|
|
*commit='seconds'*::
|
|
|
|
Set the interval of periodic commit, 30 seconds by default. Higher
|
|
|
|
values defer data being synced to permanent storage with obvious
|
|
|
|
consequences when the system crashes. The upper bound is not forced,
|
|
|
|
but a warning is printed if it's more than 300 seconds (5 minutes).
|
|
|
|
|
|
|
|
*compress*|*compress='type'*|*compress-force*|*compress-force='type'*::
|
|
|
|
Control BTRFS file data compression. Type may be specified as "zlib"
|
|
|
|
"lzo" or "no" (for no compression, used for remounting). If no type
|
|
|
|
is specified, zlib is used. If compress-force is specified,
|
|
|
|
all files will be compressed, whether or not they compress well.
|
|
|
|
If compression is enabled, nodatacow and nodatasum are disabled.
|
|
|
|
|
|
|
|
*degraded*::
|
|
|
|
Allow mounts to continue with missing devices. A read-write mount may
|
|
|
|
fail with too many devices missing, for example if a stripe member
|
|
|
|
is completely missing.
|
|
|
|
|
|
|
|
*device='devicepath'*::
|
|
|
|
Specify a device during mount so that ioctls on the control device
|
|
|
|
can be avoided. Especially useful when trying to mount a multi-device
|
|
|
|
setup as root. May be specified multiple times for multiple devices.
|
|
|
|
|
|
|
|
*discard*::
|
|
|
|
Disable/enable discard mount option.
|
|
|
|
Discard issues frequent commands to let the block device reclaim space
|
|
|
|
freed by the filesystem.
|
|
|
|
This is useful for SSD devices, thinly provisioned
|
|
|
|
LUNs and virtual machine images, but may have a significant
|
|
|
|
performance impact. (The fstrim command is also available to
|
|
|
|
initiate batch trims from userspace).
|
|
|
|
|
|
|
|
*enospc_debug*::
|
|
|
|
Disable/enable debugging option to be more verbose in some ENOSPC conditions.
|
|
|
|
|
|
|
|
*fatal_errors='action'*::
|
|
|
|
Action to take when encountering a fatal error. +
|
|
|
|
"bug" - BUG() on a fatal error. This is the default. +
|
|
|
|
"panic" - panic() on a fatal error.
|
|
|
|
|
|
|
|
*flushoncommit*::
|
|
|
|
The `flushoncommit` mount option forces any data dirtied by a write in a
|
|
|
|
prior transaction to commit as part of the current commit. This makes
|
|
|
|
the committed state a fully consistent view of the file system from the
|
|
|
|
application's perspective (i.e., it includes all completed file system
|
|
|
|
operations). This was previously the behavior only when a snapshot is
|
|
|
|
created.
|
|
|
|
|
2015-01-09 07:08:56 +00:00
|
|
|
*inode_cache*::
|
2014-06-11 22:14:55 +00:00
|
|
|
Enable free inode number caching. Defaults to off due to an overflow
|
|
|
|
problem when the free space crcs don't fit inside a single page.
|
|
|
|
|
|
|
|
*max_inline='bytes'*::
|
|
|
|
Specify the maximum amount of space, in bytes, that can be inlined in
|
|
|
|
a metadata B-tree leaf. The value is specified in bytes, optionally
|
|
|
|
with a K, M, or G suffix, case insensitive. In practice, this value
|
|
|
|
is limited by the root sector size, with some space unavailable due
|
|
|
|
to leaf headers. For a 4k sectorsize, max inline data is ~3900 bytes.
|
|
|
|
|
|
|
|
*metadata_ratio='value'*::
|
|
|
|
Specify that 1 metadata chunk should be allocated after every
|
|
|
|
'value' data chunks. Off by default.
|
|
|
|
|
|
|
|
*noacl*::
|
|
|
|
Enable/disable support for Posix Access Control Lists (ACLs). See the
|
|
|
|
`acl`(5) manual page for more information about ACLs.
|
|
|
|
|
|
|
|
*nobarrier*::
|
|
|
|
ensure that certain IOs make it through the device cache and are on
|
|
|
|
persistent storage. If disabled on a device with a volatile
|
|
|
|
(non-battery-backed) write-back cache, nobarrier option will lead to
|
|
|
|
filesystem corruption on a system crash or power loss.
|
|
|
|
|
|
|
|
*nodatacow*::
|
|
|
|
Enable/disable data copy-on-write for newly created files.
|
|
|
|
Nodatacow implies nodatasum, and disables all compression.
|
|
|
|
|
|
|
|
*nodatasum*::
|
|
|
|
Enable/disable data checksumming for newly created files.
|
|
|
|
Datasum implies datacow.
|
|
|
|
|
|
|
|
*notreelog*::
|
|
|
|
Enable/disable the tree logging used for fsync and O_SYNC writes.
|
|
|
|
|
|
|
|
*recovery*::
|
|
|
|
Enable autorecovery attempts if a bad tree root is found at mount time.
|
|
|
|
Currently this scans a list of several previous tree roots and tries to
|
|
|
|
use the first readable.
|
|
|
|
|
|
|
|
*rescan_uuid_tree*::
|
|
|
|
Force check and rebuild procedure of the UUID tree. This should not
|
|
|
|
normally be needed.
|
|
|
|
|
|
|
|
*skip_balance*::
|
|
|
|
Skip automatic resume of interrupted balance operation after mount.
|
|
|
|
May be resumed with "btrfs balance resume."
|
|
|
|
|
|
|
|
*nospace_cache*::
|
|
|
|
Disable freespace cache loading without clearing the cache.
|
|
|
|
|
|
|
|
*clear_cache*::
|
|
|
|
Force clearing and rebuilding of the disk space cache if something
|
|
|
|
has gone wrong.
|
|
|
|
|
|
|
|
*ssd*|*nossd*|*ssd_spread*::
|
|
|
|
Options to control ssd allocation schemes. By default, BTRFS will
|
|
|
|
enable or disable ssd allocation heuristics depending on whether a
|
|
|
|
rotational or nonrotational disk is in use. The ssd and nossd options
|
|
|
|
can override this autodetection. +
|
|
|
|
The ssd_spread mount option attempts to allocate into big chunks
|
|
|
|
of unused space, and may perform better on low-end ssds. ssd_spread
|
|
|
|
implies ssd, enabling all other ssd heuristics as well.
|
|
|
|
|
|
|
|
*subvol='path'*::
|
|
|
|
Mount subvolume at 'path' rather than the root subvolume. The
|
|
|
|
'path' is relative to the top level subvolume.
|
|
|
|
|
|
|
|
*subvolid='ID'*::
|
|
|
|
Mount subvolume specified by an ID number rather than the root subvolume.
|
|
|
|
This allows mounting of subvolumes which are not in the root of the mounted
|
|
|
|
filesystem.
|
|
|
|
You can use "btrfs subvolume list" to see subvolume ID numbers.
|
|
|
|
|
|
|
|
*subvolrootid='objectid' (deprecated)*::
|
|
|
|
Mount subvolume specified by 'objectid' rather than the root subvolume.
|
|
|
|
This allows mounting of subvolumes which are not in the root of the mounted
|
|
|
|
filesystem.
|
|
|
|
You can use "btrfs subvolume show" to see the object ID for a subvolume.
|
|
|
|
|
|
|
|
*thread_pool='number'*::
|
|
|
|
The number of worker threads to allocate. The default number is equal
|
|
|
|
to the number of CPUs + 2, or 8, whichever is smaller.
|
|
|
|
|
|
|
|
*user_subvol_rm_allowed*::
|
|
|
|
Allow subvolumes to be deleted by a non-root user. Use with caution.
|
|
|
|
|
2014-06-26 20:38:33 +00:00
|
|
|
FILE ATTRIBUTES
|
|
|
|
---------------
|
|
|
|
The btrfs filesystem supports setting the following file
|
|
|
|
attributes the `chattr`(1) utility
|
|
|
|
|
|
|
|
*a* -- append only
|
|
|
|
|
|
|
|
*A* -- no atime updates
|
|
|
|
|
|
|
|
*c* -- compressed
|
|
|
|
|
|
|
|
*C* -- no copy on write
|
|
|
|
|
|
|
|
*d* -- no dump
|
|
|
|
|
|
|
|
*D* -- synchronous directory updates
|
|
|
|
|
|
|
|
*i* -- immutable
|
|
|
|
|
|
|
|
*S* -- synchronous updates
|
|
|
|
|
2014-07-02 11:25:11 +00:00
|
|
|
*X* -- no compression
|
|
|
|
|
2014-06-26 20:38:33 +00:00
|
|
|
For descriptions of these attribute flags, please refer to the
|
|
|
|
`chattr`(1) man page.
|
|
|
|
|
2014-06-11 22:14:55 +00:00
|
|
|
SEE ALSO
|
|
|
|
--------
|
2014-06-26 20:38:33 +00:00
|
|
|
`chattr`(1),
|
2014-06-11 22:14:55 +00:00
|
|
|
`mkfs.btrfs`(8),
|
|
|
|
`mount`(8),
|
|
|
|
`btrfs`(8)
|