summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2009-05-11 15:18:20 +1000
committerNeilBrown <neilb@suse.de>2009-05-11 15:18:20 +1000
commit061f2c6abd014c9f30ca2d784cb535e3e3452c65 (patch)
tree63c5696cf22393743a3506aee8adfaf2222f4961
parent9652457eea62c06f48df1035218cdcb6f756b74d (diff)
downloadmdadm-061f2c6abd014c9f30ca2d784cb535e3e3452c65.tar.gz
Make --brief even briefer.
Because ---examine --brief, or --detail --brief are often used to create mdadm.conf, and because people don't want to have to update their mdadm.conf unnecessarily, we don't want to include information that might change. And now that level changing is supported, that is almost everything but UUID. So move some more fields into the "Only print with --verbose" class. Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r--Detail.c18
-rw-r--r--Examine.c2
-rw-r--r--mdadm.h2
-rw-r--r--super-ddf.c2
-rw-r--r--super-intel.c2
-rw-r--r--super0.c16
-rw-r--r--super1.c12
7 files changed, 31 insertions, 23 deletions
diff --git a/Detail.c b/Detail.c
index dea605e..54db558 100644
--- a/Detail.c
+++ b/Detail.c
@@ -196,14 +196,16 @@ int Detail(char *dev, int brief, int export, int test, char *homehost)
if (brief) {
mdu_bitmap_file_t bmf;
- if (array.raid_disks)
- printf("ARRAY %s level=%s num-devices=%d", dev,
- c?c:"-unknown-",
- array.raid_disks );
- else
- printf("ARRAY %s level=container num-devices=%d",
- dev, array.nr_disks);
-
+ printf("ARRAY %s", dev);
+ if (brief > 1) {
+ if (array.raid_disks)
+ printf("level=%s num-devices=%d",
+ c?c:"-unknown-",
+ array.raid_disks );
+ else
+ printf("level=container num-devices=%d",
+ array.nr_disks);
+ }
if (container) {
printf(" container=%s", container);
printf(" member=%s", member);
diff --git a/Examine.c b/Examine.c
index 3827e7e..bc06b40 100644
--- a/Examine.c
+++ b/Examine.c
@@ -141,7 +141,7 @@ int Examine(mddev_dev_t devlist, int brief, int export, int scan,
for (ap=arrays; ap; ap=ap->next) {
char sep='=';
char *d;
- ap->st->ss->brief_examine_super(ap->st);
+ ap->st->ss->brief_examine_super(ap->st, brief > 1);
if (ap->spares) printf(" spares=%d", ap->spares);
if (brief > 1) {
printf(" devices");
diff --git a/mdadm.h b/mdadm.h
index 1f47be3..d9bb4c9 100644
--- a/mdadm.h
+++ b/mdadm.h
@@ -440,7 +440,7 @@ extern struct superswitch {
* device. ->load_super has been called.
*/
void (*examine_super)(struct supertype *st, char *homehost);
- void (*brief_examine_super)(struct supertype *st);
+ void (*brief_examine_super)(struct supertype *st, int verbose);
void (*export_examine_super)(struct supertype *st);
/* Used to report details of an active array.
diff --git a/super-ddf.c b/super-ddf.c
index fa4d351..77a481f 100644
--- a/super-ddf.c
+++ b/super-ddf.c
@@ -1162,7 +1162,7 @@ static void getinfo_super_ddf(struct supertype *st, struct mdinfo *info);
static void uuid_from_super_ddf(struct supertype *st, int uuid[4]);
-static void brief_examine_super_ddf(struct supertype *st)
+static void brief_examine_super_ddf(struct supertype *st, int verbose)
{
/* We just write a generic DDF ARRAY entry
*/
diff --git a/super-intel.c b/super-intel.c
index 300c7b8..a2e3b7f 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -753,7 +753,7 @@ static void examine_super_imsm(struct supertype *st, char *homehost)
}
}
-static void brief_examine_super_imsm(struct supertype *st)
+static void brief_examine_super_imsm(struct supertype *st, int verbose)
{
/* We just write a generic IMSM ARRAY entry */
struct mdinfo info;
diff --git a/super0.c b/super0.c
index 18e1d45..3f02ed4 100644
--- a/super0.c
+++ b/super0.c
@@ -232,7 +232,7 @@ static void examine_super0(struct supertype *st, char *homehost)
}
}
-static void brief_examine_super0(struct supertype *st)
+static void brief_examine_super0(struct supertype *st, int verbose)
{
mdp_super_t *sb = st->sb;
char *c=map_num(pers, sb->level);
@@ -240,14 +240,18 @@ static void brief_examine_super0(struct supertype *st)
sprintf(devname, "/dev/md%d", sb->md_minor);
- printf("ARRAY %s level=%s num-devices=%d UUID=",
- devname,
- c?c:"-unknown-", sb->raid_disks);
+ if (verbose) {
+ printf("ARRAY %s level=%s num-devices=%d",
+ devname,
+ c?c:"-unknown-", sb->raid_disks);
+ } else
+ printf("ARRAY %s", devname);
+
if (sb->minor_version >= 90)
- printf("%08x:%08x:%08x:%08x", sb->set_uuid0, sb->set_uuid1,
+ printf(" UUID=%08x:%08x:%08x:%08x", sb->set_uuid0, sb->set_uuid1,
sb->set_uuid2, sb->set_uuid3);
else
- printf("%08x", sb->set_uuid0);
+ printf(" UUID=%08x", sb->set_uuid0);
printf("\n");
}
diff --git a/super1.c b/super1.c
index 679120f..850b2e4 100644
--- a/super1.c
+++ b/super1.c
@@ -414,7 +414,7 @@ static void examine_super1(struct supertype *st, char *homehost)
}
-static void brief_examine_super1(struct supertype *st)
+static void brief_examine_super1(struct supertype *st, int verbose)
{
struct mdp_superblock_1 *sb = st->sb;
int i;
@@ -430,9 +430,9 @@ static void brief_examine_super1(struct supertype *st)
else
nm = NULL;
- printf("ARRAY%s%s level=%s ",
- nm ? " /dev/md/":"", nm,
- c?c:"-unknown-");
+ printf("ARRAY%s%s", nm ? " /dev/md/":"", nm);
+ if (verbose && c)
+ printf(" level=%s", c);
sb_offset = __le64_to_cpu(sb->super_offset);
if (sb_offset <= 4)
printf("metadata=1.1 ");
@@ -440,7 +440,9 @@ static void brief_examine_super1(struct supertype *st)
printf("metadata=1.2 ");
else
printf("metadata=1.0 ");
- printf("num-devices=%d UUID=", __le32_to_cpu(sb->raid_disks));
+ if (verbose)
+ printf("num-devices=%d ", __le32_to_cpu(sb->raid_disks));
+ printf("UUID=");
for (i=0; i<16; i++) {
if ((i&3)==0 && i != 0) printf(":");
printf("%02x", sb->set_uuid[i]);