1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-02-07 05:58:00 +03:00

dumpconfig: add --withfullcomments option

--withfullcomments prints all comment lines for each config option.
--withcomments prints only the first comment line, which should be
a short one-line summary of the option.
This commit is contained in:
David Teigland 2015-04-15 10:56:42 -05:00
parent 9ce52430de
commit 5f6ac1c812
7 changed files with 20 additions and 5 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.119 -
==================================
Add --withfullcomments option to dumpconfig to print full comment.
Check for lvm binary in blkdeactivate and skip LVM processing if not present.
Add --enable-halvm and --disable-halvm options to lvmconf script.
Add --services, --mirrorservice and --startstopservices option to lvmconf.

View File

@ -1541,15 +1541,19 @@ static int _out_prefix_fn(const struct dm_config_node *cn, const char *line, voi
cfg_def = cfg_def_get_item_p(cn->id);
if (out->tree_spec->withcomments) {
if (out->tree_spec->withcomments || out->tree_spec->withfullcomments) {
_cfg_def_make_path(path, sizeof(path), cfg_def->id, cfg_def, 1);
fprintf(out->fp, "\n");
fprintf(out->fp, "%s# Configuration %s %s.\n", line, node_type_name, path);
if (cfg_def->comment) {
int pos = 0;
while (_copy_one_line(cfg_def->comment, commentline, &pos, strlen(cfg_def->comment)))
while (_copy_one_line(cfg_def->comment, commentline, &pos, strlen(cfg_def->comment))) {
fprintf(out->fp, "%s# %s\n", line, commentline);
/* withcomments prints only the first comment line. */
if (!out->tree_spec->withfullcomments)
break;
}
}
if (cfg_def->flags & CFG_ADVANCED)

View File

@ -144,7 +144,8 @@ struct config_def_tree_spec {
uint16_t version; /* tree at this LVM2 version */
unsigned ignoreadvanced:1; /* do not include advanced configs */
unsigned ignoreunsupported:1; /* do not include unsupported configs */
unsigned withcomments:1; /* include comments */
unsigned withcomments:1; /* include first line of comment */
unsigned withfullcomments:1; /* include all comment lines */
unsigned withversions:1; /* include versions */
uint8_t *check_status; /* status of last tree check (currently needed for CFG_DEF_TREE_MISSING only) */
};

View File

@ -22,6 +22,7 @@ lvm-dumpconfig \(em dump LVM configuration
.RB [ \-\-mergedconfig ]
.RB [ \-\-validate ]
.RB [ \-\-withcomments ]
.RB [ \-\-withfullcomments ]
.RB [ \-\-withversions ]
.RB [ ConfigurationNode... ]
@ -140,7 +141,11 @@ option is disabled.
.TP
.B \-\-withcomments
Also dump comments for each configuration node.
Dump a one line comment for each configuration node.
.TP
.B \-\-withfullcomments
Dump a full comment for each configuration node.
.TP
.B \-\-withversions

View File

@ -117,6 +117,7 @@ arg(version_ARG, '\0', "version", NULL, 0)
arg(vgmetadatacopies_ARG, '\0', "vgmetadatacopies", metadatacopies_arg, 0)
arg(virtualoriginsize_ARG, '\0', "virtualoriginsize", size_mb_arg, 0)
arg(withcomments_ARG, '\0', "withcomments", NULL, 0)
arg(withfullcomments_ARG, '\0', "withfullcomments", NULL, 0)
arg(withversions_ARG, '\0', "withversions", NULL, 0)
arg(writebehind_ARG, '\0', "writebehind", int_arg, 0)
arg(writemostly_ARG, '\0', "writemostly", string_arg, ARG_GROUPABLE)

View File

@ -70,11 +70,12 @@ xx(dumpconfig,
"\t[--mergedconfig]\n"
"\t[--validate]\n"
"\t[--withcomments]\n"
"\t[--withfullcomments]\n"
"\t[--withversions]\n"
"\t[ConfigurationNode...]\n",
atversion_ARG, configtype_ARG, file_ARG, ignoreadvanced_ARG,
ignoreunsupported_ARG, mergedconfig_ARG, metadataprofile_ARG,
validate_ARG, withcomments_ARG, withversions_ARG)
validate_ARG, withcomments_ARG, withfullcomments_ARG, withversions_ARG)
xx(formats,
"List available metadata formats",

View File

@ -219,6 +219,8 @@ int dumpconfig(struct cmd_context *cmd, int argc, char **argv)
if (arg_count(cmd, withcomments_ARG))
tree_spec.withcomments = 1;
if (arg_count(cmd, withfullcomments_ARG))
tree_spec.withfullcomments = 1;
if (arg_count(cmd, withversions_ARG))
tree_spec.withversions = 1;