Assemble/Incr : minor tidy up of setting 'trustworthy'.

Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
NeilBrown 2009-05-11 15:19:30 +10:00
parent db2d001cee
commit 05833051ee
2 changed files with 6 additions and 10 deletions

View File

@ -480,17 +480,14 @@ int Assemble(struct supertype *st, char *mddev,
if (!st || !st->sb || !content) if (!st || !st->sb || !content)
return 2; return 2;
/* Now need to open array the device. Use create_mddev */ /* Now need to open the array device. Use create_mddev */
if (content == &info) if (content == &info)
st->ss->getinfo_super(st, content); st->ss->getinfo_super(st, content);
trustworthy = FOREIGN; trustworthy = FOREIGN;
name = content->name;
switch (st->ss->match_home(st, homehost) switch (st->ss->match_home(st, homehost)
?: st->ss->match_home(st, "any")) { ?: st->ss->match_home(st, "any")) {
case 0:
trustworthy = FOREIGN;
name = content->name;
break;
case 1: case 1:
trustworthy = LOCAL; trustworthy = LOCAL;
name = strchr(content->name, ':'); name = strchr(content->name, ':');
@ -499,18 +496,15 @@ int Assemble(struct supertype *st, char *mddev,
else else
name = content->name; name = content->name;
break; break;
case -1:
trustworthy = FOREIGN;
break;
} }
if (!auto_assem && trustworthy == FOREIGN) if (!auto_assem)
/* If the array is listed in mdadm.conf or on /* If the array is listed in mdadm.conf or on
* command line, then we trust the name * command line, then we trust the name
* even if the array doesn't look local * even if the array doesn't look local
*/ */
trustworthy = LOCAL; trustworthy = LOCAL;
if (content->name[0] == 0 && if (name[0] == 0 &&
content->array.level == LEVEL_CONTAINER) { content->array.level == LEVEL_CONTAINER) {
name = content->text_version; name = content->text_version;
trustworthy = METADATA; trustworthy = METADATA;

View File

@ -810,6 +810,8 @@ int Incremental_container(struct supertype *st, char *devname, int verbose,
match->container, match->member); match->container, match->member);
return 2; return 2;
} }
if (match)
trustworthy = LOCAL;
mdfd = create_mddev(match ? match->devname : NULL, mdfd = create_mddev(match ? match->devname : NULL,
ra->name, ra->name,