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 <neilb@suse.de>
This commit is contained in:
parent
72e7fb13f0
commit
4cda8682c6
5
mdopen.c
5
mdopen.c
|
@ -207,7 +207,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')
|
||||
|
|
Loading…
Reference in New Issue