Linux Btrfs filesystem development
 help / color / mirror / Atom feed
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

  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