summaryrefslogtreecommitdiff
path: root/mdadm.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2009-04-06 15:54:51 +1000
committerNeilBrown <neilb@suse.de>2009-04-06 15:54:51 +1000
commit3590496027119a99b4c36d4e22813d12474041c7 (patch)
tree1e403a53aa7a89d2d70830fed9f016250b29f889 /mdadm.c
parent9f3bd60c79a5c0941af7af8422299769f23b77df (diff)
downloadmdadm-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.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/mdadm.c b/mdadm.c
index 1fef4b9..4402eba 100644
--- a/mdadm.c
+++ b/mdadm.c
@@ -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",