On Sat, Mar 23, 2013 at 12:48:54PM -0500, Eric Sandeen wrote:
> Document all current btrfs mount options.
> 
> Signed-off-by: Eric Sandeen <sand...@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
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to