Use common code to report MD_UUID for --detail --export
As we need to be able to extract a UUID from any superblock for matching, use that as the MD_UUID as it will probably be used for array matching too.
This commit is contained in:
parent
ff54de6e47
commit
35ddc76dcb
12
Detail.c
12
Detail.c
|
@ -169,9 +169,17 @@ int Detail(char *dev, int brief, int export, int test, char *homehost)
|
||||||
printf("MD_METADATA=%02d.%02d\n",
|
printf("MD_METADATA=%02d.%02d\n",
|
||||||
array.major_version, array.minor_version);
|
array.major_version, array.minor_version);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (st && st->sb) {
|
||||||
|
struct mdinfo info;
|
||||||
|
char nbuf[64];
|
||||||
|
st->ss->getinfo_super(st, &info);
|
||||||
|
fname_from_uuid(st, &info, nbuf, ':');
|
||||||
|
printf("MD_UUID=%s\n", nbuf+5);
|
||||||
|
|
||||||
if (st && st->sb)
|
if (st->ss->export_detail_super)
|
||||||
st->ss->export_detail_super(st);
|
st->ss->export_detail_super(st);
|
||||||
|
}
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
13
super0.c
13
super0.c
|
@ -301,18 +301,6 @@ static void brief_detail_super0(struct supertype *st)
|
||||||
else
|
else
|
||||||
printf("%08x", sb->set_uuid0);
|
printf("%08x", sb->set_uuid0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void export_detail_super0(struct supertype *st)
|
|
||||||
{
|
|
||||||
mdp_super_t *sb = st->sb;
|
|
||||||
printf("MD_UUID=");
|
|
||||||
if (sb->minor_version >= 90)
|
|
||||||
printf("%08x:%08x:%08x:%08x", sb->set_uuid0, sb->set_uuid1,
|
|
||||||
sb->set_uuid2, sb->set_uuid3);
|
|
||||||
else
|
|
||||||
printf("%08x", sb->set_uuid0);
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int match_home0(struct supertype *st, char *homehost)
|
static int match_home0(struct supertype *st, char *homehost)
|
||||||
|
@ -1091,7 +1079,6 @@ struct superswitch super0 = {
|
||||||
.export_examine_super = export_examine_super0,
|
.export_examine_super = export_examine_super0,
|
||||||
.detail_super = detail_super0,
|
.detail_super = detail_super0,
|
||||||
.brief_detail_super = brief_detail_super0,
|
.brief_detail_super = brief_detail_super0,
|
||||||
.export_detail_super = export_detail_super0,
|
|
||||||
.write_init_super = write_init_super0,
|
.write_init_super = write_init_super0,
|
||||||
.validate_geometry = validate_geometry0,
|
.validate_geometry = validate_geometry0,
|
||||||
.add_to_super = add_to_super0,
|
.add_to_super = add_to_super0,
|
||||||
|
|
6
super1.c
6
super1.c
|
@ -456,12 +456,6 @@ static void export_detail_super1(struct supertype *st)
|
||||||
}
|
}
|
||||||
if (len)
|
if (len)
|
||||||
printf("MD_NAME=%.*s\n", len, sb->set_name);
|
printf("MD_NAME=%.*s\n", len, sb->set_name);
|
||||||
printf("MD_UUID=");
|
|
||||||
for (i=0; i<16; i++) {
|
|
||||||
if ((i&3)==0 && i != 0) printf(":");
|
|
||||||
printf("%02x", sb->set_uuid[i]);
|
|
||||||
}
|
|
||||||
printf("\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue