summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2005-06-08 01:16:31 +0000
committerNeil Brown <neilb@suse.de>2005-06-08 01:16:31 +0000
commita68aa90e8ce7a8fc713030fe6ed64cc049f5f6ac (patch)
tree312249cbb132158b1d7ab0091119bbe73ae22733
parent2b126def008c45b8a8c23af185e2f2726e55fde6 (diff)
downloadmdadm-a68aa90e8ce7a8fc713030fe6ed64cc049f5f6ac.tar.gz
mdadm-a68aa90e8ce7a8fc713030fe6ed64cc049f5f6ac.tar.xz
mdadm-a68aa90e8ce7a8fc713030fe6ed64cc049f5f6ac.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 5df8533..dfa5f30 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,9 @@ Changes Prior to 1.12.0 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 6c22889..0fa3251 100644
--- a/config.c
+++ b/config.c
@@ -336,7 +336,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 bbe50b2..13e1bfa 100644
--- a/mdadm.8
+++ b/mdadm.8
@@ -391,6 +391,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 57fd3cd..19ca998 100644
--- a/mdadm.c
+++ b/mdadm.c
@@ -732,7 +732,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 {
@@ -759,7 +760,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;
@@ -777,7 +779,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;