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 <neilb@suse.de>
This commit is contained in:
NeilBrown 2010-01-29 14:54:55 +11:00
parent c93e9d68d0
commit a1331cc406
3 changed files with 19 additions and 20 deletions

24
mdadm.8
View File

@ -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

13
mdadm.c
View File

@ -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):

View File

@ -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