From a5d47a2bb5f765eb50383d50c2f28a6a870edcdc Mon Sep 17 00:00:00 2001 From: Justin Maggard Date: Tue, 23 Oct 2012 15:04:00 -0700 Subject: Create new md devices consistently Creating a new MD device with the name 'd-0' results in some unexpected behavior, since mdadm sees that '-0' is a non-negative integer and therefore makes a "partitionable" device (/dev/md_d0). This is not the expected behavior, since the documentation mentions 'dN' several places, and a reboot brings it up as /dev/md/d-0. Make this consistent by ensuring that the character immediately following 'd' is a digit during creation. Signed-off-by: NeilBrown --- mdopen.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mdopen.c b/mdopen.c index 4ef9308..ad47942 100644 --- a/mdopen.c +++ b/mdopen.c @@ -210,7 +210,10 @@ int create_mddev(char *dev, char *name, int autof, int trustworthy, char *ep; if (cname[0] == 'd') sp++; - num = strtoul(sp, &ep, 10); + if (isdigit(sp[0])) + num = strtoul(sp, &ep, 10); + else + ep = sp; if (ep == sp || *ep || num < 0) num = -1; else if (cname[0] == 'd') -- cgit v1.2.1