diff --git a/ChangeLog b/ChangeLog index 0640dc5..c1e1b7d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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 diff --git a/Create.c b/Create.c index 75db382..ba6a824 100644 --- a/Create.c +++ b/Create.c @@ -30,6 +30,7 @@ #include "mdadm.h" #include "md_u.h" #include "md_p.h" +#include 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; } }