summaryrefslogtreecommitdiffstats
path: root/super-intel.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2009-08-07 14:17:40 +1000
committerNeilBrown <neilb@suse.de>2009-08-07 14:17:40 +1000
commit4737ae25dec3b6b703f8f60f351e2d6d7b527ac1 (patch)
tree4b39ef9ba51528891e1713f434b9b530628423ca /super-intel.c
parent823f06865e1c79865004b81de35fc4b6338d9492 (diff)
downloadmdadm-4737ae25dec3b6b703f8f60f351e2d6d7b527ac1.tar.gz
mdadm-4737ae25dec3b6b703f8f60f351e2d6d7b527ac1.tar.xz
mdadm-4737ae25dec3b6b703f8f60f351e2d6d7b527ac1.zip
Exmaine/brief: put member arrays after container arrays.
A previous patch moved move the '--examine --brief' reporting of member arrays to before their containers. This breaks "mdadm -As" assembly. So put them back, but still fix the problem addressed by previous patch. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'super-intel.c')
-rw-r--r--super-intel.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/super-intel.c b/super-intel.c
index dc0c9c0..782519e 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -761,9 +761,7 @@ static void brief_examine_super_imsm(struct supertype *st, int verbose)
/* We just write a generic IMSM ARRAY entry */
struct mdinfo info;
char nbuf[64];
- char nbuf1[64];
struct intel_super *super = st->sb;
- int i;
if (!super->anchor->num_raid_devs) {
printf("ARRAY metadata=imsm\n");
@@ -772,6 +770,23 @@ static void brief_examine_super_imsm(struct supertype *st, int verbose)
getinfo_super_imsm(st, &info);
fname_from_uuid(st, &info, nbuf, ':');
+ printf("ARRAY metadata=imsm UUID=%s\n", nbuf + 5);
+}
+
+static void brief_examine_subarrays_imsm(struct supertype *st, int verbose)
+{
+ /* We just write a generic IMSM ARRAY entry */
+ struct mdinfo info;
+ char nbuf[64];
+ char nbuf1[64];
+ struct intel_super *super = st->sb;
+ int i;
+
+ if (!super->anchor->num_raid_devs)
+ return;
+
+ getinfo_super_imsm(st, &info);
+ fname_from_uuid(st, &info, nbuf, ':');
for (i = 0; i < super->anchor->num_raid_devs; i++) {
struct imsm_dev *dev = get_imsm_dev(super, i);
@@ -781,7 +796,6 @@ static void brief_examine_super_imsm(struct supertype *st, int verbose)
printf("ARRAY /dev/md/%.16s container=%s member=%d UUID=%s\n",
dev->volume, nbuf + 5, i, nbuf1 + 5);
}
- printf("ARRAY metadata=imsm UUID=%s\n", nbuf + 5);
}
static void export_examine_super_imsm(struct supertype *st)
@@ -4554,6 +4568,7 @@ struct superswitch super_imsm = {
#ifndef MDASSEMBLE
.examine_super = examine_super_imsm,
.brief_examine_super = brief_examine_super_imsm,
+ .brief_examine_subarrays = brief_examine_subarrays_imsm,
.export_examine_super = export_examine_super_imsm,
.detail_super = detail_super_imsm,
.brief_detail_super = brief_detail_super_imsm,