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 <neilb@suse.de>
This commit is contained in:
NeilBrown 2010-11-22 20:58:06 +11:00
parent d76c4d8894
commit 02c2c47487
1 changed files with 2 additions and 14 deletions

View File

@ -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) {