diff options
author | Alasdair Kergon <agk@redhat.com> | 2008-04-21 11:59:22 +0000 |
---|---|---|
committer | Alasdair Kergon <agk@redhat.com> | 2008-04-21 11:59:22 +0000 |
commit | dd540781dcc272cdbad79596d99688bf620c83fb (patch) | |
tree | 35c323001de3cf44d08f99e76d4fa0d9b5f5b0b5 /tools/dmsetup.c | |
parent | f419a871500e36e5c9c38fb89946e2090bfa39f6 (diff) | |
download | lvm2-dd540781dcc272cdbad79596d99688bf620c83fb.tar.gz lvm2-dd540781dcc272cdbad79596d99688bf620c83fb.tar.xz lvm2-dd540781dcc272cdbad79596d99688bf620c83fb.zip |
Add --prefixes to dmsetup
E.g. dmsetup info -c --prefixes
Again, might change the name of this option.
Diffstat (limited to 'tools/dmsetup.c')
-rw-r--r-- | tools/dmsetup.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/tools/dmsetup.c b/tools/dmsetup.c index d5a3ce9c..f0d7d5a7 100644 --- a/tools/dmsetup.c +++ b/tools/dmsetup.c @@ -120,6 +120,7 @@ enum { NOOPENCOUNT_ARG, NOTABLE_ARG, OPTIONS_ARG, + PREFIXES_ARG, READAHEAD_ARG, SEPARATOR_ARG, SHOWKEYS_ARG, @@ -1914,7 +1915,7 @@ static int _report_init(struct command *c) char *options = (char *) default_report_options; const char *keys = ""; const char *separator = " "; - int aligned = 1, headings = 1, buffered = 1; + int aligned = 1, headings = 1, buffered = 1, field_prefixes = 0; uint32_t flags = 0; size_t len = 0; int r = 0; @@ -1929,6 +1930,11 @@ static int _report_init(struct command *c) if (_switches[UNBUFFERED_ARG]) buffered = 0; + if (_switches[PREFIXES_ARG]) { + aligned = 0; + field_prefixes = 1; + } + if (_switches[OPTIONS_ARG] && _string_args[OPTIONS_ARG]) { if (*_string_args[OPTIONS_ARG] != '+') options = _string_args[OPTIONS_ARG]; @@ -1971,6 +1977,9 @@ static int _report_init(struct command *c) if (headings) flags |= DM_REPORT_OUTPUT_HEADINGS; + if (field_prefixes) + flags |= DM_REPORT_OUTPUT_FIELD_NAME_PREFIX; + if (!(_report = dm_report_init(&_report_type, _report_types, _report_fields, options, separator, flags, keys, NULL))) @@ -1981,6 +1990,9 @@ static int _report_init(struct command *c) goto out; } + if (field_prefixes) + dm_report_set_output_field_name_prefix(_report, "dm_"); + r = 1; out: @@ -2047,7 +2059,7 @@ static void _usage(FILE *out) " [-r|--readonly] [--noopencount] [--nolockfs]\n" " [--readahead [+]<sectors>|auto|none]\n" " [-c|-C|--columns] [-o <fields>] [-O|--sort <sort_fields>]\n" - " [--noheadings] [--separator <separator>]\n\n"); + " [--noheadings] [--prefixes] [--separator <separator>]\n\n"); for (i = 0; _commands[i].name; i++) fprintf(out, "\t%s %s\n", _commands[i].name, _commands[i].help); fprintf(out, "\n<device> may be device name or -u <uuid> or " @@ -2409,6 +2421,7 @@ static int _process_switches(int *argc, char ***argv, const char *dev_dir) {"noopencount", 0, &ind, NOOPENCOUNT_ARG}, {"notable", 0, &ind, NOTABLE_ARG}, {"options", 1, &ind, OPTIONS_ARG}, + {"prefixes", 0, &ind, PREFIXES_ARG}, {"readahead", 1, &ind, READAHEAD_ARG}, {"separator", 1, &ind, SEPARATOR_ARG}, {"showkeys", 0, &ind, SHOWKEYS_ARG}, @@ -2543,6 +2556,8 @@ static int _process_switches(int *argc, char ***argv, const char *dev_dir) _switches[NOLOCKFS_ARG]++; if ((ind == NOOPENCOUNT_ARG)) _switches[NOOPENCOUNT_ARG]++; + if ((ind == PREFIXES_ARG)) + _switches[PREFIXES_ARG]++; if ((ind == READAHEAD_ARG)) { _switches[READAHEAD_ARG]++; if (!strcasecmp(optarg, "auto")) |