From 22892d5632b454a18be7fb36a82b4c1af691ef66 Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Tue, 14 Jun 2005 06:34:23 +0000 Subject: [PATCH] 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 --- ChangeLog | 4 ++++ Detail.c | 2 +- Examine.c | 10 ++++++---- mdadm.8 | 12 +++++++++++- mdadm.c | 8 ++++---- 5 files changed, 26 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index f4288e1f..56ff63b4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -15,6 +15,10 @@ Changes Prior to this 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 370177a4..46b483c4 100644 --- a/Detail.c +++ b/Detail.c @@ -284,7 +284,7 @@ int Detail(char *dev, int brief, int test) if (super && brief && st) st->ss->brief_detail_super(super); - 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 da859930..8f15a759 100644 --- a/Examine.c +++ b/Examine.c @@ -130,10 +130,12 @@ int Examine(mddev_dev_t devlist, int brief, int scan, int SparcAdjust, struct su char *d; ap->st->ss->brief_examine_super(ap->super); if (ap->spares) printf(" spares=%d", ap->spares); - printf(" devices"); - for (d=dl_next(ap->devs); d!= ap->devs; d=dl_next(d)) { - printf("%c%s", sep, d); - sep=','; + if (brief > 1) { + printf(" devices"); + for (d=dl_next(ap->devs); d!= ap->devs; d=dl_next(d)) { + printf("%c%s", sep, d); + sep=','; + } } free(ap->super); /* FIXME free ap */ diff --git a/mdadm.8 b/mdadm.8 index dfbb74c1..6836c469 100644 --- a/mdadm.8 +++ b/mdadm.8 @@ -185,7 +185,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 @@ -193,6 +198,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 -b ", " --bitmap= diff --git a/mdadm.c b/mdadm.c index 54c011e8..bc264b13 100644 --- a/mdadm.c +++ b/mdadm.c @@ -135,7 +135,7 @@ int main(int argc, char *argv[]) fputs(Version, stderr); exit(0); - case 'v': verbose = 1; + case 'v': verbose++; continue; case 'b': @@ -939,7 +939,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, ss); + rv = Examine(devlist, scan?(verbose>1?0:verbose+1):brief, scan, SparcAdjust, ss); } else { if (devlist == NULL) { if (devmode=='D' && scan) { @@ -954,7 +954,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) { @@ -998,7 +998,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': -- 2.39.2