From 1337546dc1f4b4dfd399ecb9ef05e0936492220f Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Tue, 14 Jun 2005 06:33:02 +0000 Subject: [PATCH] Allow --auto to still be meaningful when --scan is given Signed-off-by: Neil Brown --- ChangeLog | 3 +++ config.c | 2 +- mdadm.8 | 8 ++++++++ mdadm.c | 9 ++++++--- 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;