From: NeilBrown Date: Fri, 7 Nov 2008 10:39:23 +0000 (+1100) Subject: Assemble: return correct status from assemble_container_content. X-Git-Tag: mdadm-3.0-devel3~81 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7cb2aa33e51bbc2952bb90590fbc47c16a7c27b3;p=thirdparty%2Fmdadm.git Assemble: return correct status from assemble_container_content. Otherwise autoassembly can get confused. Signed-off-by: NeilBrown --- diff --git a/Assemble.c b/Assemble.c index 98c9c2b7..29e3ec76 100644 --- a/Assemble.c +++ b/Assemble.c @@ -1216,7 +1216,7 @@ int assemble_container_content(struct supertype *st, int mdfd, else if (errno == EEXIST) preexist++; if (working == 0) - /* Nothing new, don't try to start */ ; + return 1;/* Nothing new, don't try to start */ else if (runstop > 0 || (working + preexist) >= content->array.working_disks) { @@ -1249,15 +1249,16 @@ int assemble_container_content(struct supertype *st, int mdfd, fprintf(stderr, "\n"); } wait_for(chosen_name); + return 0; /* FIXME should have an O_EXCL and wait for read-auto */ - } else + } else { if (verbose >= 0) fprintf(stderr, Name ": %s assembled with %d devices but " "not started\n", chosen_name, working); - - return 0; + return 1; + } } #endif