X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=super0.c;h=7bb64ebbe92520d9943360f12a711352867819b5;hb=2998bc013c2f4a6cc576efab9c0492eb889c8853;hp=87ef1e06158b2946224ef59f94c316bd233cee6c;hpb=e7bb5d23a9b29ae6f316fe3ce8970301e1bc0d4d;p=thirdparty%2Fmdadm.git diff --git a/super0.c b/super0.c index 87ef1e06..7bb64ebb 100644 --- a/super0.c +++ b/super0.c @@ -227,10 +227,17 @@ static void brief_examine_super0(void *sbv) { mdp_super_t *sb = sbv; char *c=map_num(pers, sb->level); - char *nm; + char devname[20]; + struct stat stb; + + sprintf(devname, "/dev/md%d", sb->md_minor); + if (stat(devname, &stb) != 0) { + /* /dev/mdX doesn't exist, so use /dev/md/X */ + sprintf(devname, "/dev/md/%d", sb->md_minor); + } printf("ARRAY %s level=%s num-devices=%d UUID=", - nm = get_md_name(sb->md_minor), + devname, c?c:"-unknown-", sb->raid_disks); if (sb->minor_version >= 90) printf("%08x:%08x:%08x:%08x", sb->set_uuid0, sb->set_uuid1, @@ -238,7 +245,6 @@ static void brief_examine_super0(void *sbv) else printf("%08x", sb->set_uuid0); printf("\n"); - put_md_name(nm); } static void detail_super0(void *sbv, char *homehost)