From: Ilya Dryomov <idryomov@gmail.com>
To: Eric Sandeen <sandeen@redhat.com>
Cc: linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: [PATCH] btrfs: document mount options in Documentation/fs/btrfs.txt
Date: Sat, 23 Mar 2013 22:35:32 +0200 [thread overview]
Message-ID: <20130323203532.GA1920@zambezi.lan> (raw)
In-Reply-To: <514DEB06.7000606@redhat.com>
On Sat, Mar 23, 2013 at 12:48:54PM -0500, Eric Sandeen wrote:
> Document all current btrfs mount options.
>
> Signed-off-by: Eric Sandeen <sandeen@redhat.com>
> ---
>
> please, Please, PLEASE review this and suggest improvements.
> I'm no btrfs wizard but I've done my best to get this all right
> based on commit logs, code reading, and wiki reading. In cases where
> any of those 3 disagreed, I've done my best to document reality, but I'm
> sure it could use corrections, clarifications, etc.
>
> In particular, some of these mount options could really use more
> description of why a user might want them, rather than simply stating
> what they do.
>
> "notreelog" is particularly egregious, as I have nothing but self-referential
> documentation.
>
> So this can use some iteration, I'm sure, but hopefully it's a decent
> start.
>
> Thanks,
> -Eric
>
> diff --git a/Documentation/filesystems/btrfs.txt b/Documentation/filesystems/btrfs.txt
> index 7671352..02a19c8 100644
> --- a/Documentation/filesystems/btrfs.txt
> +++ b/Documentation/filesystems/btrfs.txt
> @@ -1,6 +1,6 @@
>
> - BTRFS
> - =====
> +BTRFS
> +=====
>
> Btrfs is a new copy on write filesystem for Linux aimed at
> implementing advanced features while focusing on fault tolerance,
> @@ -34,9 +34,173 @@ The main Btrfs features include:
> * Online filesystem defragmentation
>
>
> -
> - MAILING LIST
> - ============
> +Mount Options
> +=============
> +
> +When mounting a btrfs filesystem, the following option are accepted.
> +Unless otherwise specified, all options default to off.
> +
> + alloc_start=<bytes>
> + Debugging option to force all block allocations above a threshold.
> + The value is specified in bytes, optionally with a K, M, or G suffix,
> + case insensitive. Default is 1MB.
> +
> + autodefrag
> + Detect 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.
> +
> + 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. Especialy useful when trying to mount a multi-device
> + setup as root. May be specified multiple times for multiple devices.
> +
> + discard
> + Issue command 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 performance
> + impact.
> +
> + enospc_debug
> + 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.
> +
> + inode_cache
> + 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
> + Disable support for Posix Access Control Lists (ACLs). See the
> + acl(5) manual page for more information about ACLs.
> +
> + nobarrier
> + Disables the use of block layer write barriers. Write barriers ensure
> + that certain IOs make it through the device cache and are on persistent
> + storage. If used on a device with a volatile (non-battery-backed)
> + write-back cache, this option will lead to filesystem corruption on a
> + system crash or power loss.
> +
> + nodatacow
> + Disable data copy-on-write for newly created files. Implies nodatasum,
> + and disables all compression.
> +
> + nodatasum
> + Disable data checksumming for newly created files.
> +
> + notreelog
> + 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.
> +
> + skip_balance
> + Skip automatic restart of previous balance operation after mount. May
resume interrupted
> + be restarted with "btrfs device balance"
May be resumed with "btrfs balance resume" or cancelled with "btrfs
balance cancel". skip_balance simply keeps balance in paused state.
Feel free to word this appropriately ;)
Thanks,
Ilya
next prev parent reply other threads:[~2013-03-23 20:35 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-23 17:48 [PATCH] btrfs: document mount options in Documentation/fs/btrfs.txt Eric Sandeen
2013-03-23 18:33 ` Roman Mamedov
2013-03-23 18:45 ` Eric Sandeen
2013-03-26 13:23 ` Karel Zak
2013-03-23 20:35 ` Ilya Dryomov [this message]
2013-03-23 22:22 ` Roger Binns
2013-03-23 22:40 ` Eric Sandeen
2013-03-24 1:11 ` Roger Binns
2013-03-25 15:57 ` David Sterba
2013-03-25 13:59 ` Josef Bacik
2013-03-26 19:36 ` [PATCH V2] " Eric Sandeen
2013-03-29 16:48 ` David Sterba
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130323203532.GA1920@zambezi.lan \
--to=idryomov@gmail.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=sandeen@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox