# This is an example configuration file for the LVM2 system.  It
# contains the default settings that would be used if there was no
# /etc/lvm/lvm.conf file.
# Refer to 'man lvm.conf' for further information.


# This section allows the user to configure which block devices should
# be used by the LVM system.
devices {

    # where do you want your volume groups to appear ?
    dir = "/dev"

    # An array of directories that contain the device nodes you wish
    # to use with LVM2.
    scan = "/dev"

    # A very important option, that allows you to tune the LVM2 system
    # to just look at a restricted set of devices that you're
    # interested in.

    # The filter consists of an array of regular expressions.  These
    # expressions can be delimited by a character of your choice, and
    # prefixed with either an 'a' (for accept) or 'r' (for reject).
    # ATM you cannot use anchors (^ or $) in your regular expression.

    # By default we accept every block device:
    filter = "a/.*/"

    # When testing I like to work with just loopback devices:
    # filter = ["a/loop/", "r/.*/"]

    # Or maybe all loops and ide drives except hdc:
    # filter =["a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|"]

    # The results of all the filtering are cached on disk to avoid
    # rescanning dud devices (which can take a very long time).  By
    # default this cache file is hidden in the /etc/lvm directory, it
    # is human readable to aid filter debugging.
    cache = "/etc/lvm/.cache"

    # You can turn off writing this cache file by setting this to 0.
    write_cache_state = 1
}

# A section that allows the user to configure the nature of the
# information that LVM2 reports.
log {

    # Where should the log of error and debug messages go ?  By
    # default there is no log.
    #file = "/var/log/lvm2.log"

    # Should we overwrite the last log.  By default we append.
    overwrite = 0

    # There are 9 log levels, with 9 being the most verbose.
    level = 3
    
    # Controls the messages sent to stdout or stderr while running 
    # LVM2.  There are three levels of verbosity, 3 being the most 
    # verbose.
    verbose = 0

    # Should we send log messages through syslog?
    # 1 is yes; 0 is no.
    syslog = 1

    # Choose format of output messages
    # Whether or not (1 or 0) to indent messages according to their severity
    indent = 1

    # Whether or not (1 or 0) to display the command name on each line output
    command_names = 0

    # A prefix to use before the message text (but after the command name,
    # if selected)
    prefix = "  "

    # To make the messages look similar to the original LVM use:
    #   indent = 0
    #   command_names = 1
    #   prefix = " -- "
}

# Configuration of metadata backups and archiving.  In LVM2 when we
# talk about a 'backup' we mean making a copy of the metadata for the
# *current* system.  The 'archive' contains old metadata configurations.
# Backups are stored in a human readeable text format.
backup {

    # Should we maintain a backup of the current metadata configuration ?
    # Use 1 for Yes; 0 for No.
    # Think very hard before turning this off.
    backup = 1

    # Where shall we keep it ?
    backup_dir = "/etc/lvm/backup"


    # Should we maintain an archive of old metadata configurations.
    # Use 1 for Yes; 0 for No.
    # On by default.  Think very hard before turning this off.
    archive = 1

    # Where should archived files go ?
    archive_dir = "/etc/lvm/archive"
    
    # What is the minimum number of archive files you wish to keep ?
    retain_min = 10

    # What is the minimum time you wish to keep an archive file for ?
    retain_days = 30
}

# Settings for the running LVM2 in shell mode.
shell {

    # Number of lines of history to store in ~/.lvm_history
    history_size = 100
}

# Miscellaneous global settings
global {
    
    # The file creation mask for any files and directories created.
    # Interpreted as octal if the first digit is zero.
    umask = 077

    # Allow other users to read the files
    #umask = 022

    # Enabling test mode means that no changes to the on disk metadata
    # will be made.  Equivalent to having the -t option on every
    # command.  Defaults to off.
    test = 0
}
