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 | |
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'.
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | Create.c | 11 |
2 files changed, 11 insertions, 2 deletions
@@ -2,6 +2,8 @@ Changes Prior to 2.5.3 release - Document v0.91 superblocks in md.4 - Make GPL explicit in man pages. - Fix recent breakage of starting degraded arrays. + - Tidyup automatic name choice for v-1 arrays: + /dev/md_d0 now becomes '0', not '_d0'. Changes Prior to 2.5.2 release - Fix problem with compiling with gcc-2 compilers @@ -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; } } |