summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2005-06-14 06:33:02 +0000
committerNeil Brown <neilb@suse.de>2005-06-14 06:33:02 +0000
commit1337546dc1f4b4dfd399ecb9ef05e0936492220f (patch)
tree5c9a44f94759b83816325de0537d098f074d3adc
parent92919398cc8dcd8f9cd41a91b3b6af8d569d95fb (diff)
downloadmdadm-1337546dc1f4b4dfd399ecb9ef05e0936492220f.tar.gz
mdadm-1337546dc1f4b4dfd399ecb9ef05e0936492220f.tar.xz
mdadm-1337546dc1f4b4dfd399ecb9ef05e0936492220f.zip
Allow --auto to still be meaningful when --scan is given
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
-rw-r--r--ChangeLog3
-rw-r--r--config.c2
-rw-r--r--mdadm.88
-rw-r--r--mdadm.c9
4 files changed, 18 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index ba7f91b..8fdb46f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,9 @@ Changes Prior to this release
so that stack devices are stopped properly
- Minor type rationalisation for ident->uuid - now always 'int[]'
- Fix type in online help for --grow (was -F, now -G)
+ - Allow --auto command line option to set default auto=
+ value when running "--assemble --scan". Previously
+ --auto was ignored if --scan was given
Changes Prior to 1.11.0 release
- Fix embarassing bug which causes --add to always fail.
diff --git a/config.c b/config.c
index 20f972e..08a8ed1 100644
--- a/config.c
+++ b/config.c
@@ -345,7 +345,7 @@ void arrayline(char *line)
else if (strcasecmp(w+5,"yes")==0 || strcasecmp(w+5,"md")==0)
mis.autof = -1;
else {
- /* There might be digits, and maybe a hypen, at the end */
+ /* There might be digits, and maybe a hyphen, at the end */
char *e = w+5 + strlen(w+5);
int num = 4;
int len;
diff --git a/mdadm.8 b/mdadm.8
index ab9dc91..dfbb74c 100644
--- a/mdadm.8
+++ b/mdadm.8
@@ -435,6 +435,14 @@ from this. See DEVICE NAMES below.
The argumentment can also come immediately after
"-a". e.g. "-ap".
+If
+.I --scan
+is also given, then any
+.I auto=
+entries in the config file will over-ride the
+.I --auto
+instruction given on the command line.
+
For partitionable arrays,
.I mdadm
will create the device file for the whole array and for the first 4
diff --git a/mdadm.c b/mdadm.c
index 6d0548e..54c011e 100644
--- a/mdadm.c
+++ b/mdadm.c
@@ -821,7 +821,8 @@ int main(int argc, char *argv[])
devlist->devname);
rv |= 1;
} else {
- mdfd = open_mddev(devlist->devname, array_ident->autof);
+ mdfd = open_mddev(devlist->devname,
+ array_ident->autof ? array_ident->autof : autof);
if (mdfd < 0)
rv |= 1;
else {
@@ -848,7 +849,8 @@ int main(int argc, char *argv[])
rv |= 1;
continue;
}
- mdfd = open_mddev(dv->devname, array_ident->autof);
+ mdfd = open_mddev(dv->devname,
+ array_ident->autof ?array_ident->autof : autof);
if (mdfd < 0) {
rv |= 1;
continue;
@@ -866,7 +868,8 @@ int main(int argc, char *argv[])
} else
for (; array_list; array_list = array_list->next) {
mdu_array_info_t array;
- mdfd = open_mddev(array_list->devname, array_list->autof);
+ mdfd = open_mddev(array_list->devname,
+ array_list->autof ? array_list->autof : autof);
if (mdfd < 0) {
rv |= 1;
continue;