From 1c203a4b5a05789a0de2548294c049481bff2254 Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Tue, 20 May 2008 16:28:48 +1000 Subject: Fix autoassemble for stack arrays. If you have stacked arrays, then mdadm -As --homehost=fred should work but doesn't. It gets into an infinite loop! So write some tests, and fix the bugs. --- mdadm.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'mdadm.c') diff --git a/mdadm.c b/mdadm.c index 67823d5..641d717 100644 --- a/mdadm.c +++ b/mdadm.c @@ -1100,11 +1100,12 @@ int main(int argc, char *argv[]) int acnt; ident.autof = autof; do { + mddev_dev_t devlist = conf_get_devs(); acnt = 0; do { rv2 = Assemble(ss, NULL, -1, &ident, - NULL, NULL, + devlist, NULL, readonly, runstop, NULL, homehost, verbose-quiet, force); if (rv2==0) { cnt++; @@ -1138,7 +1139,8 @@ int main(int argc, char *argv[]) if (cnt == 0 && rv == 0) { fprintf(stderr, Name ": No arrays found in config file or automatically\n"); rv = 1; - } + } else if (cnt) + rv = 0; } else if (cnt == 0 && rv == 0) { fprintf(stderr, Name ": No arrays found in config file\n"); rv = 1; -- cgit