summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Rajnoha <prajnoha@redhat.com>2015-04-30 18:26:56 +0200
committerPeter Rajnoha <prajnoha@redhat.com>2015-04-30 18:26:56 +0200
commit11e0dc40dcae9021bb52d60403fd1a3b8b40c58c (patch)
treefa279112c8c904dccbbb1adf2b370ebf789df48c
parent8f25606d3acd9f5e314b40384ef2366ef63bf4b1 (diff)
downloadlvm2-11e0dc40dcae9021bb52d60403fd1a3b8b40c58c.tar.gz
config: add CFG_DEFAULT_COMMENTED to comment out default value on output
-rw-r--r--lib/config/config.c2
-rw-r--r--lib/config/config.h6
-rw-r--r--lib/config/config_settings.h1
3 files changed, 6 insertions, 3 deletions
diff --git a/lib/config/config.c b/lib/config/config.c
index 084f3f2d6..32b3c6611 100644
--- a/lib/config/config.c
+++ b/lib/config/config.c
@@ -1664,7 +1664,7 @@ static int _out_line_fn(const struct dm_config_node *cn, const char *line, void
/* Usual tree view with nodes and their values. */
if ((out->tree_spec->type != CFG_DEF_TREE_CURRENT) &&
(out->tree_spec->type != CFG_DEF_TREE_DIFF) &&
- (cfg_def->flags & CFG_DEFAULT_UNDEFINED)) {
+ (cfg_def->flags & (CFG_DEFAULT_UNDEFINED | CFG_DEFAULT_COMMENTED))) {
space_prefix = ((len = strspn(line, "\t "))) ? dm_pool_strndup(out->mem, line, len) : NULL;
fprintf(out->fp, "%s%s%s\n", space_prefix ? : "", "# ", line + len);
if (space_prefix)
diff --git a/lib/config/config.h b/lib/config/config.h
index ce31e5023..0b7221cea 100644
--- a/lib/config/config.h
+++ b/lib/config/config.h
@@ -113,10 +113,12 @@ typedef union {
#define CFG_PROFILABLE_METADATA 0x030
/* whether the default value is undefned */
#define CFG_DEFAULT_UNDEFINED 0x040
+/* whether the default value is commented out on output */
+#define CFG_DEFAULT_COMMENTED 0x080
/* whether the default value is calculated during run time */
-#define CFG_DEFAULT_RUN_TIME 0x080
+#define CFG_DEFAULT_RUN_TIME 0x100
/* whether the configuration setting is disabled (and hence defaults always used) */
-#define CFG_DISABLED 0x100
+#define CFG_DISABLED 0x200
/* configuration definition item structure */
typedef struct cfg_def_item {
diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h
index 9fd9be61e..31609d48a 100644
--- a/lib/config/config_settings.h
+++ b/lib/config/config_settings.h
@@ -48,6 +48,7 @@
* CFG_PROFILABLE - this node is customizable by a profile
* CFG_PROFILABLE_METADATA - profilable and attachable to VG/LV metadata
* CFG_DEFAULT_UNDEFINED - node's default value is undefined
+ * CFG_DEFAULT_COMMENTED - node's default value is commented out on output
* CFG_DISABLED - configuration is disabled (defaults always used)
*
* type: Allowed type for the value of simple configuation setting, one of: