diff options
author | NeilBrown <neilb@suse.de> | 2009-04-06 15:54:51 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-04-06 15:54:51 +1000 |
commit | 3590496027119a99b4c36d4e22813d12474041c7 (patch) | |
tree | 1e403a53aa7a89d2d70830fed9f016250b29f889 /mdadm.c | |
parent | 9f3bd60c79a5c0941af7af8422299769f23b77df (diff) | |
download | mdadm-3590496027119a99b4c36d4e22813d12474041c7.tar.gz |
Detail: use meaningful names with --scan.
When reporting "--detail --scan", use names like /dev/md/foo where
available rather than /dev/md/127
This is particularly needed for containers where the member arrays
will report "container=/dev/md/foo" and we want the container to have
the same name.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'mdadm.c')
-rw-r--r-- | mdadm.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -132,7 +132,7 @@ int main(int argc, char *argv[]) shortopt, long_options, &option_index)) != -1) { int newmode = mode; - /* firstly, some mode-independant options */ + /* firstly, some mode-independent options */ switch(opt) { case 'h': if (option_index > 0 && @@ -1231,10 +1231,17 @@ int main(int argc, char *argv[]) */ struct mdstat_ent *ms = mdstat_read(0, 1); struct mdstat_ent *e; + struct map_ent *map = NULL; int v = verbose>1?0:verbose+1; for (e=ms ; e ; e=e->next) { - char *name = get_md_name(e->devnum); + char *name; + struct map_ent *me; + me = map_by_devnum(&map, e->devnum); + if (me && me->path) + name = me->path; + else + name = get_md_name(e->devnum); if (!name) { fprintf(stderr, Name ": cannot find device file for %s\n", |