1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
LVM2 mirror repository https://sourceware.org/lvm2/
Go to file
Peter Rajnoha 245b85692e config: use config checks and add support for creating trees from config definition (config_def_create_tree fn)
Configuration checking is initiated during config load/processing
(_process_config fn) which is part of the command context
creation/refresh.

This patch also defines 5 types of trees that could be created from
the configuration definition (config_settings.h), the cfg_def_tree_t:

  - CFG_DEF_TREE_CURRENT that denotes a tree of all the configuration
    nodes that are explicitly defined in lvm.conf/--config

  - CFG_DEF_TREE_MISSING that denotes a tree of all missing
    configuration nodes for which default valus are used since they're
    not explicitly used in lvm.conf/--config

  - CFG_DEF_TREE_DEFAULT that denotes a tree of all possible
    configuration nodes with default values assigned, no matter what
    the actual lvm.conf/--config is

  - CFG_DEF_TREE_NEW that denotes a tree of all new configuration nodes
    that appeared in given version

  - CFG_DEF_TREE_COMPLETE that denotes a tree of the whole configuration
    tree that is used in LVM2 (a combination of CFG_DEF_TREE_CURRENT +
    CFG_DEF_TREE_MISSING). This is not implemented yet, it will be added
    later...

The function that creates the definition tree of given type:

  struct dm_config_tree *config_def_create_tree(struct config_def_tree_spec *spec);

Where the "spec" specifies the tree type to be created:

  struct config_def_tree_spec {
    cfg_def_tree_t type;	/* tree type */
    uint16_t version;		/* tree at this LVM2 version */
    int ignoreadvanced;		/* do not include advanced configs */
    int ignoreunsupported;	/* do not include unsupported configs */
  };

This tree can be passed to already existing functions that write
the tree on output (like we already do with cmd->cft).

There is a new lvm.conf section called "config" with two new options:

  - config/checks which enables/disables checking (enabled by default)

  - config/abort_on_errors which enables/disables aborts on any type of
    mismatch found in the config (disabled by default)
2013-03-06 10:46:35 +01:00
autoconf Using Fedora 14's autoreconf. 2011-01-07 14:38:34 +00:00
daemons config: refer to config nodes using assigned IDs 2013-03-06 10:14:33 +01:00
doc config: use config checks and add support for creating trees from config definition (config_def_create_tree fn) 2013-03-06 10:46:35 +01:00
include config: add config_settings.h 2013-03-06 10:14:32 +01:00
lib config: use config checks and add support for creating trees from config definition (config_def_create_tree fn) 2013-03-06 10:46:35 +01:00
libdaemon locales: use higher prio LC_ALL variable 2013-01-22 11:25:02 +01:00
libdm libdevmapper: add dm_config_value_is_bool function 2013-03-06 10:14:33 +01:00
liblvm config: refer to config nodes using assigned IDs 2013-03-06 10:14:33 +01:00
man man: update pvcreate/pvs/vgconvert man page to cover embedding area support 2013-02-26 14:46:42 +01:00
old-tests Add .gitignore files for an in-source-tree build. 2012-06-08 16:26:21 +01:00
po INSTALL rules updates 2010-04-09 21:42:48 +00:00
python lvm2app: No special behavior for 0 for max_snap_size in lvm_lv_snapshot() 2012-12-17 14:14:38 -08:00
report-generators add copyright notices to new files 2010-07-28 12:20:38 +00:00
reports [REPORT-GENERATORS] cut down stylsheet.css to what we actually use 2010-07-21 10:00:38 +00:00
scripts headers: add headers for musl libc 2013-02-05 14:27:25 +01:00
test test: update using exclusive activation 2013-02-05 14:39:11 +01:00
tools config: refer to config nodes using assigned IDs 2013-03-06 10:14:33 +01:00
udev activation: fix autoactivation to not trigger on each PV change 2012-12-21 10:34:48 +01:00
unit-tests cleanup: replace memset with struct initilization 2012-06-22 13:23:03 +02:00
.gitignore gitignore: Ignore files ending in ~ 2012-06-11 16:13:02 +01:00
aclocal.m4 Add aclocal.m4 (for pkgconfig). 2011-01-07 16:27:05 +00:00
configure configure: autoreconf 2012-10-12 14:45:26 +02:00
configure.in scripts: introduce blkdeactivate 2012-10-12 14:44:24 +02:00
COPYING Outline docs 2001-12-31 16:12:40 +00:00
COPYING.LIB Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1. 2007-08-20 20:55:30 +00:00
INSTALL quick review of docs 2008-11-04 17:49:22 +00:00
make.tmpl.in configure: Respect pkg-config --cflags for udev. 2013-02-22 14:49:31 +01:00
Makefile.in Makefiles: fix distclean dir dependency 2012-10-15 14:15:59 +01:00
README Rename git report from LVM2.git to lvm2.git. 2012-06-08 17:41:43 +01:00
VERSION version: update 2012-10-22 14:16:06 +02:00
VERSION_DM version: update 2012-10-22 14:16:06 +02:00
WHATS_NEW WHATS_NEW: add lines for embedding area support 2013-02-26 15:50:43 +01:00
WHATS_NEW_DM config: fix config node lookup inside empty sections to not return the section itself 2013-02-27 13:47:57 +01:00

This tree contains the LVM2 and device-mapper tools and libraries.

For more information about LVM2 read the changelog in the WHATS_NEW file.
Installation instructions are in INSTALL.

There is no warranty - see COPYING and COPYING.LIB.

Tarballs are available from:
  ftp://sources.redhat.com/pub/lvm2/

The source code is stored in git:
  http://git.fedorahosted.org/git/lvm2.git
  git clone git://git.fedorahosted.org/git/lvm2.git

Mailing list for general discussion related to LVM2:
  linux-lvm@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/linux-lvm

Mailing lists for LVM2 development, patches and commits:
  lvm-devel@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/linux-lvm

  lvm2-commits@lists.fedorahosted.org (Read-only archive of commits)
  Subscribe from https://fedorahosted.org/mailman/listinfo/lvm2-commits

Mailing list for device-mapper development, including kernel patches
and multipath-tools:
  dm-devel@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/dm-devel

The source code repository used until 7th June 2012 is accessible here:
  http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/?cvsroot=lvm2.