diff options
author | Neil Brown <neilb@suse.de> | 2006-08-07 11:30:02 +1000 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2006-08-07 11:30:02 +1000 |
commit | 60248f743376a69e155f2a48cb77b89b281602ff (patch) | |
tree | 0001525f78349b7009e1a89eb0fa5f30b34da8d7 /Create.c | |
parent | 43f2372a034d49a9512685c5aacfcdfc67665580 (diff) | |
download | mdadm-60248f743376a69e155f2a48cb77b89b281602ff.tar.gz mdadm-60248f743376a69e155f2a48cb77b89b281602ff.tar.xz mdadm-60248f743376a69e155f2a48cb77b89b281602ff.zip |
Tidyup automatic name choice for v-1 arrays
/dev/md_d0 now becomes '0', not '_d0'.
Diffstat (limited to 'Create.c')
-rw-r--r-- | Create.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -30,6 +30,7 @@ #include "mdadm.h" #include "md_u.h" #include "md_p.h" +#include <ctype.h> int Create(struct supertype *st, char *mddev, int mdfd, int chunk, int level, int layout, unsigned long long size, int raiddisks, int sparedisks, @@ -399,9 +400,15 @@ int Create(struct supertype *st, char *mddev, int mdfd, name = strrchr(mddev, '/'); if (name) { name++; - if (strncmp(name, "md", 2)==0 && - strlen(name) > 2 && + if (strncmp(name, "md_d", 4)==0 && + strlen(name) > 4 && + isdigit(name[4]) && (name-mddev) == 5 /* /dev/ */) + name += 4; + else if (strncmp(name, "md", 2)==0 && + strlen(name) > 2 && + isdigit(name[2]) && + (name-mddev) == 5 /* /dev/ */) name += 2; } } |