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 .I mdadm
will be silent unless there is something really important to report. 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 .TP
.BR \-f ", " \-\-force .BR \-f ", " \-\-force
Be more forceful about certain operations. See the various modes for Be more forceful about certain operations. See the various modes for
@ -1794,6 +1782,18 @@ For
.B \-\-scan .B \-\-scan
causes all devices listed in the config file to be examined. 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 .SH MONITOR MODE
.HP 12 .HP 12

13
mdadm.c
View File

@ -151,13 +151,10 @@ int main(int argc, char *argv[])
continue; continue;
case 'b': 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 */ break; /* b means bitmap */
brief = 1; brief = 1;
if (optarg) {
fprintf(stderr, Name ": -b cannot have any extra immediately after it, sorry.\n");
exit(2);
}
continue; continue;
case 'Y': export++; case 'Y': export++;
@ -267,7 +264,8 @@ int main(int argc, char *argv[])
continue; continue;
} }
/* No mode yet, and this is the second device ... */ /* 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); exit(2);
} }
if (option_index >= 0) if (option_index >= 0)
@ -874,7 +872,8 @@ int main(int argc, char *argv[])
continue; continue;
} }
/* probable typo */ /* 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); exit(2);
case O(GROW,BitmapChunk): case O(GROW,BitmapChunk):

View File

@ -380,7 +380,7 @@ preceded by plus or minus is allowed and is usually last.
When When
.I mdadm .I mdadm
is auto-assembling an array, with via is auto-assembling an array, either via
.I --assemble .I --assemble
or or
.I --incremental .I --incremental