From a1331cc4068d4c0723dd46f3a170ed100adba000 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Fri, 29 Jan 2010 14:54:55 +1100 Subject: [PATCH] Tidy up some argument parsing, particularly for -b -b only means --brief in MISC mode, elsewhere it is --bitmap. Resolves-debian-bug: 427777 Signed-off-by: NeilBrown --- mdadm.8 | 24 ++++++++++++------------ mdadm.c | 13 ++++++------- mdadm.conf.5 | 2 +- 3 files changed, 19 insertions(+), 20 deletions(-) diff --git a/mdadm.8 b/mdadm.8 index 29e098b..882c3a2 100644 --- a/mdadm.8 +++ b/mdadm.8 @@ -249,18 +249,6 @@ Avoid printing purely informative messages. With this, .I mdadm will be silent unless there is something really important to report. -.TP -.BR \-b ", " \-\-brief -Be less verbose. This is used with -.B \-\-detail -and -.BR \-\-examine . -Using -.B \-\-brief -with -.B \-\-verbose -gives an intermediate level of verbosity. - .TP .BR \-f ", " \-\-force Be more forceful about certain operations. See the various modes for @@ -1794,6 +1782,18 @@ For .B \-\-scan causes all devices listed in the config file to be examined. +.TP +.BR \-b ", " \-\-brief +Be less verbose. This is used with +.B \-\-detail +and +.BR \-\-examine . +Using +.B \-\-brief +with +.B \-\-verbose +gives an intermediate level of verbosity. + .SH MONITOR MODE .HP 12 diff --git a/mdadm.c b/mdadm.c index 74a39a8..d235b2a 100644 --- a/mdadm.c +++ b/mdadm.c @@ -151,13 +151,10 @@ int main(int argc, char *argv[]) continue; case 'b': - if (mode == ASSEMBLE || mode == BUILD || mode == CREATE || mode == GROW) + if (mode == ASSEMBLE || mode == BUILD || mode == CREATE || mode == GROW || + mode == INCREMENTAL || mode == MANAGE) break; /* b means bitmap */ brief = 1; - if (optarg) { - fprintf(stderr, Name ": -b cannot have any extra immediately after it, sorry.\n"); - exit(2); - } continue; case 'Y': export++; @@ -267,7 +264,8 @@ int main(int argc, char *argv[]) continue; } /* No mode yet, and this is the second device ... */ - fprintf(stderr, Name ": An option must be given to set the mode before a second device is listed\n"); + fprintf(stderr, Name ": An option must be given to set the mode before a second device\n" + " (%s) is listed\n", optarg); exit(2); } if (option_index >= 0) @@ -874,7 +872,8 @@ int main(int argc, char *argv[]) continue; } /* probable typo */ - fprintf(stderr, Name ": bitmap file must contain a '/', or be 'internal', or 'none'\n"); + fprintf(stderr, Name ": bitmap file must contain a '/', or be 'internal', or 'none'\n" + " not '%s'\n", optarg); exit(2); case O(GROW,BitmapChunk): diff --git a/mdadm.conf.5 b/mdadm.conf.5 index 002e2b3..1c2ae58 100644 --- a/mdadm.conf.5 +++ b/mdadm.conf.5 @@ -380,7 +380,7 @@ preceded by plus or minus is allowed and is usually last. When .I mdadm -is auto-assembling an array, with via +is auto-assembling an array, either via .I --assemble or .I --incremental