From: NeilBrown Date: Mon, 22 Nov 2010 09:58:06 +0000 (+1100) Subject: Assemble: simplify the handling of is_member_busy. X-Git-Tag: mdadm-3.2~282 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=02c2c474876ed66a016dbeef667e692a69bfec0d;p=thirdparty%2Fmdadm.git Assemble: simplify the handling of is_member_busy. This is somewhat inconsistent with the last member of a container getting special handling. Just simplify it so the code seems to make sense and important is easy to follow. Signed-of-by: NeilBrown --- diff --git a/Assemble.c b/Assemble.c index fce8d344..771cb77c 100644 --- a/Assemble.c +++ b/Assemble.c @@ -420,26 +420,14 @@ int Assemble(struct supertype *st, char *mddev, report_missmatch ? devname : NULL)) { content = content->next; goto next_member; - } - - /* we have the one container we need, don't keep - * looking. If the chosen member is active, skip. - */ - if (is_member_busy(content->text_version)) { + } else if (is_member_busy(content->text_version)) { if (report_missmatch) fprintf(stderr, Name ": member %s in %s is already assembled\n", content->text_version, devname); content = content->next; - if (content) - goto next_member; - tst->ss->free_super(tst); - tst = NULL; - if (auto_assem) - goto loop; - dev_policy_free(pol); - return 1; + goto next_member; } st = tst; tst = NULL; if (!auto_assem && inargv && tmpdev->next != NULL) {