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>
This commit is contained in:
parent
823f06865e
commit
4737ae25de
|
@ -145,6 +145,8 @@ int Examine(mddev_dev_t devlist, int brief, int export, int scan,
|
|||
sep=',';
|
||||
}
|
||||
}
|
||||
if (ap->st->ss->brief_examine_subarrays)
|
||||
ap->st->ss->brief_examine_subarrays(ap->st, brief > 1);
|
||||
ap->st->ss->free_super(ap->st);
|
||||
/* FIXME free ap */
|
||||
if (ap->spares || brief > 1)
|
||||
|
|
1
mdadm.h
1
mdadm.h
|
@ -436,6 +436,7 @@ extern struct superswitch {
|
|||
*/
|
||||
void (*examine_super)(struct supertype *st, char *homehost);
|
||||
void (*brief_examine_super)(struct supertype *st, int verbose);
|
||||
void (*brief_examine_subarrays)(struct supertype *st, int verbose);
|
||||
void (*export_examine_super)(struct supertype *st);
|
||||
|
||||
/* Used to report details of an active array.
|
||||
|
|
14
super-ddf.c
14
super-ddf.c
|
@ -1180,6 +1180,18 @@ 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, int verbose)
|
||||
{
|
||||
/* We just write a generic DDF ARRAY entry
|
||||
*/
|
||||
struct mdinfo info;
|
||||
char nbuf[64];
|
||||
getinfo_super_ddf(st, &info);
|
||||
fname_from_uuid(st, &info, nbuf, ':');
|
||||
|
||||
printf("ARRAY metadata=ddf UUID=%s\n", nbuf + 5);
|
||||
}
|
||||
|
||||
static void brief_examine_subarrays_ddf(struct supertype *st, int verbose)
|
||||
{
|
||||
/* We just write a generic DDF ARRAY entry
|
||||
*/
|
||||
|
@ -1203,7 +1215,6 @@ static void brief_examine_super_ddf(struct supertype *st, int verbose)
|
|||
printf("ARRAY container=%s member=%d UUID=%s\n",
|
||||
nbuf+5, i, nbuf1+5);
|
||||
}
|
||||
printf("ARRAY metadata=ddf UUID=%s\n", nbuf + 5);
|
||||
}
|
||||
|
||||
static void export_examine_super_ddf(struct supertype *st)
|
||||
|
@ -3597,6 +3608,7 @@ struct superswitch super_ddf = {
|
|||
#ifndef MDASSEMBLE
|
||||
.examine_super = examine_super_ddf,
|
||||
.brief_examine_super = brief_examine_super_ddf,
|
||||
.brief_examine_subarrays = brief_examine_subarrays_ddf,
|
||||
.export_examine_super = export_examine_super_ddf,
|
||||
.detail_super = detail_super_ddf,
|
||||
.brief_detail_super = brief_detail_super_ddf,
|
||||
|
|
|
@ -761,15 +761,30 @@ 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");
|
||||
return;
|
||||
}
|
||||
|
||||
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++) {
|
||||
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue