Default to --auto=yes
so the array devices with 'standard' names get created automatically, as this is almost always what is wanted.
This commit is contained in:
parent
d645b91a1b
commit
7572344665
|
@ -8,6 +8,8 @@ Changes Prior to this release
|
||||||
missing devices.
|
missing devices.
|
||||||
- Support --update=devicesize for cases where the underlying device
|
- Support --update=devicesize for cases where the underlying device
|
||||||
can change size.
|
can change size.
|
||||||
|
- Default to --auto=yes so the array devices with 'standard' names
|
||||||
|
get created automatically, as this is almost always what is wanted.
|
||||||
|
|
||||||
Changes Prior to 2.5.6 release
|
Changes Prior to 2.5.6 release
|
||||||
- Fix bug which meant "bitmap=xxx" in mdadm.conf was not handled
|
- Fix bug which meant "bitmap=xxx" in mdadm.conf was not handled
|
||||||
|
|
1
config.c
1
config.c
|
@ -255,6 +255,7 @@ mddev_dev_t load_partitions(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
struct createinfo createinfo = {
|
struct createinfo createinfo = {
|
||||||
|
.autof = 2, /* by default, create devices with standard names */
|
||||||
.symlinks = 1,
|
.symlinks = 1,
|
||||||
#ifdef DEBIAN
|
#ifdef DEBIAN
|
||||||
.gid = 6, /* disk */
|
.gid = 6, /* disk */
|
||||||
|
|
16
mdadm.8
16
mdadm.8
|
@ -573,6 +573,10 @@ from this. See DEVICE NAMES below.
|
||||||
The argument can also come immediately after
|
The argument can also come immediately after
|
||||||
"-a". e.g. "-ap".
|
"-a". e.g. "-ap".
|
||||||
|
|
||||||
|
If --auto is not given on the command line or in the config file, then
|
||||||
|
the default will be
|
||||||
|
.BR --auto=yes .
|
||||||
|
|
||||||
If
|
If
|
||||||
.I --scan
|
.I --scan
|
||||||
is also given, then any
|
is also given, then any
|
||||||
|
@ -1060,13 +1064,11 @@ may work for RAID1, 4, 5, 6, or 10), give the
|
||||||
.B --run
|
.B --run
|
||||||
flag.
|
flag.
|
||||||
|
|
||||||
If an
|
If the md device does not exist, then it will be created providing the
|
||||||
.B auto
|
intent is clear. i.e. the name must be in a standard form, or the
|
||||||
option is given, either on the command line (--auto) or in the
|
.I --auto
|
||||||
configuration file (e.g. auto=part), then
|
option must be given to clarify how and whether the device should be
|
||||||
.I mdadm
|
created.
|
||||||
will create the md device if necessary or will re-create it if it
|
|
||||||
doesn't look usable as it is.
|
|
||||||
|
|
||||||
This can be useful for handling partitioned devices (which don't have
|
This can be useful for handling partitioned devices (which don't have
|
||||||
a stable device number - it can change after a reboot) and when using
|
a stable device number - it can change after a reboot) and when using
|
||||||
|
|
14
mdopen.c
14
mdopen.c
|
@ -135,10 +135,6 @@ int open_mddev(char *dev, int autof)
|
||||||
dev);
|
dev);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (autof == 2 && stb.st_mode == 0 && !is_standard(dev, NULL)) {
|
|
||||||
fprintf(stderr, Name ": --auto=yes requires a 'standard' md device name, not %s\n", dev);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
/* check major number is correct */
|
/* check major number is correct */
|
||||||
num = -1;
|
num = -1;
|
||||||
std = is_standard(dev, &num);
|
std = is_standard(dev, &num);
|
||||||
|
@ -146,19 +142,23 @@ int open_mddev(char *dev, int autof)
|
||||||
switch(autof) {
|
switch(autof) {
|
||||||
case 2: /* only create is_standard names */
|
case 2: /* only create is_standard names */
|
||||||
if (!std && !stb.st_mode) {
|
if (!std && !stb.st_mode) {
|
||||||
fprintf(stderr, Name ": --auto=yes requires a 'standard' md device name, not %s\n", dev);
|
fprintf(stderr, Name
|
||||||
|
": %s does not exist and is not a 'standard' name "
|
||||||
|
"so it cannot be created\n", dev);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3: /* create md, reject std>0 */
|
case 3: /* create md, reject std>0 */
|
||||||
if (std > 0) {
|
if (std > 0) {
|
||||||
fprintf(stderr, Name ": that --auto option not compatable with device named %s\n", dev);
|
fprintf(stderr, Name ": that --auto option "
|
||||||
|
"not compatable with device named %s\n", dev);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 4: /* create mdp, reject std<0 */
|
case 4: /* create mdp, reject std<0 */
|
||||||
if (std < 0) {
|
if (std < 0) {
|
||||||
fprintf(stderr, Name ": that --auto option not compatable with device named %s\n", dev);
|
fprintf(stderr, Name ": that --auto option "
|
||||||
|
"not compatable with device named %s\n", dev);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue