summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2006-08-07 11:30:02 +1000
committerNeil Brown <neilb@suse.de>2006-08-07 11:30:02 +1000
commit60248f743376a69e155f2a48cb77b89b281602ff (patch)
tree0001525f78349b7009e1a89eb0fa5f30b34da8d7
parent43f2372a034d49a9512685c5aacfcdfc67665580 (diff)
downloadmdadm-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--ChangeLog2
-rw-r--r--Create.c11
2 files changed, 11 insertions, 2 deletions
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 <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;
}
}