diff options
author | NeilBrown <neilb@suse.de> | 2008-11-04 20:51:12 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2008-11-04 20:51:12 +1100 |
commit | f2e55eccfb92969c3e11bc5d4883315f2e866a14 (patch) | |
tree | 41d9383f638fa80ca94f8b79afe8bceb9adca1cd /mapfile.c | |
parent | f05641cf7a250bda189f16d9c6b917683e5c9aad (diff) | |
download | mdadm-f2e55eccfb92969c3e11bc5d4883315f2e866a14.tar.gz |
mdopen: use small sequence number for uniquifying array names.
Rather than appending the md minor number, we now append a small
sequence number to make sure name in /dev/md/ that aren't LOCAL are
unique. As the map file is locked while we do this, we are sure
of no losing any races.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'mapfile.c')
-rw-r--r-- | mapfile.c | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -245,3 +245,18 @@ struct map_ent *map_by_devnum(struct map_ent **map, int devnum) return mp; return NULL; } + +struct map_ent *map_by_name(struct map_ent **map, char *name) +{ + struct map_ent *mp; + if (!*map) + map_read(map); + + for (mp = *map ; mp ; mp = mp->next) { + if (strncmp(mp->path, "/dev/md/", 8) != 0) + continue; + if (strcmp(mp->path+8, name) == 0) + return mp; + } + return NULL; +} |