summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2005-06-14 00:14:31 +0000
committerNeil Brown <neilb@suse.de>2005-06-14 00:14:31 +0000
commit6ac0e993850f4e77dfcc7a7bd25463c41526783b (patch)
treeaa770450abc1ddee465310409d5f379ce5ea3ee1
parent02bdee4f3beb7fda16fc09687025f3476d751c2f (diff)
downloadmdadm-6ac0e993850f4e77dfcc7a7bd25463c41526783b.tar.gz
mdadm-6ac0e993850f4e77dfcc7a7bd25463c41526783b.tar.xz
mdadm-6ac0e993850f4e77dfcc7a7bd25463c41526783b.zip
Don't list device= in --examine --scan output.
As the device list isn't stable, recording it should be avoided. The device= list is still available if --verbose is given (once). Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
-rw-r--r--ChangeLog4
-rw-r--r--Detail.c2
-rw-r--r--Examine.c10
-rw-r--r--mdadm.812
-rw-r--r--mdadm.c8
5 files changed, 26 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 2d4b709..95efebe 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -16,6 +16,10 @@ Changes Prior to 1.12.0 release
- Fix rounding errors in human_size()
- Fix silly example in mdadm.conf-examples
- When finding a /dev name for a device, prefer shorter names
+ - Suppress listing of devices= in --brief output of -D or -E,
+ unless -v is given (-vv gives the old behaviour with -Dsv).
+ This is because the device list can change and so is not a
+ stable aspect of the array
Changes Prior to 1.11.0 release
- Fix embarassing bug which causes --add to always fail.
diff --git a/Detail.c b/Detail.c
index 7555a9a..e0391f9 100644
--- a/Detail.c
+++ b/Detail.c
@@ -286,7 +286,7 @@ int Detail(char *dev, int brief, int test)
else
printf("%08x", super.set_uuid0);
}
- if (brief && devices) printf("\n devices=%s", devices);
+ if (brief > 1 && devices) printf("\n devices=%s", devices);
if (brief) printf("\n");
if (test && (rv&2)) rv &= ~1;
close(fd);
diff --git a/Examine.c b/Examine.c
index 79537fa..186b6b1 100644
--- a/Examine.c
+++ b/Examine.c
@@ -255,10 +255,12 @@ int Examine(mddev_dev_t devlist, int brief, int scan, int SparcAdjust)
ap->super.set_uuid2, ap->super.set_uuid3);
else
printf("%08x", ap->super.set_uuid0);
- printf("\n devices");
- for (d=dl_next(ap->devs); d!= ap->devs; d=dl_next(d)) {
- printf("%c%s", sep, d);
- sep=',';
+ if (brief > 1) {
+ printf("\n devices");
+ for (d=dl_next(ap->devs); d!= ap->devs; d=dl_next(d)) {
+ printf("%c%s", sep, d);
+ sep=',';
+ }
}
printf("\n");
}
diff --git a/mdadm.8 b/mdadm.8
index 13e1bfa..72c0174 100644
--- a/mdadm.8
+++ b/mdadm.8
@@ -181,7 +181,12 @@ Print version information for mdadm.
.TP
.BR -v ", " --verbose
-Be more verbose about what is happening.
+Be more verbose about what is happening. This can be used twice to be
+extra-verbose.
+This currently only affects
+.B --detail --scan
+and
+.BR "--examine --scan" .
.TP
.BR -b ", " --brief
@@ -189,6 +194,11 @@ 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
diff --git a/mdadm.c b/mdadm.c
index 19ca998..2ebc1e4 100644
--- a/mdadm.c
+++ b/mdadm.c
@@ -123,7 +123,7 @@ int main(int argc, char *argv[])
fputs(Version, stderr);
exit(0);
- case 'v': verbose = 1;
+ case 'v': verbose++;
continue;
case 'b': brief = 1;
@@ -818,7 +818,7 @@ int main(int argc, char *argv[])
fprintf(stderr, Name ": No devices listed in %s\n", configfile?configfile:DefaultConfFile);
exit(1);
}
- rv = Examine(devlist, scan?!verbose:brief, scan, SparcAdjust);
+ rv = Examine(devlist, scan?(verbose>1?0:verbose+1):brief, scan, SparcAdjust);
} else {
if (devlist == NULL) {
if (devmode=='D' && scan) {
@@ -833,7 +833,7 @@ int main(int argc, char *argv[])
e->dev);
continue;
}
- rv |= Detail(name, !verbose, test);
+ rv |= Detail(name, verbose>1?0:verbose+1, test);
put_md_name(name);
}
} else if (devmode == 'S' && scan) {
@@ -877,7 +877,7 @@ int main(int argc, char *argv[])
for (dv=devlist ; dv; dv=dv->next) {
switch(dv->disposition) {
case 'D':
- rv |= Detail(dv->devname, brief, test); continue;
+ rv |= Detail(dv->devname, brief?1+verbose:0, test); continue;
case 'K': /* Zero superblock */
rv |= Kill(dv->devname, force); continue;
case 'Q':