Assemble: Don't auto-assemble arrays which conflict with mdadm.conf

When auto-assembling we might find an array which appear in
mdadm.conf.
This can happen if the array (based on UUID) doesn't match what is
in mdadm.conf.
For consistency we should avoid auto-assembling such an array just as
we avoid regular-assembling of the array.


Reported-by: Ross Boylan <ross@biostat.ucsf.edu>
Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
NeilBrown 2012-12-05 11:06:55 +11:00
parent 262e3b7fe8
commit 1d04e27570
1 changed files with 7 additions and 0 deletions

View File

@ -385,6 +385,13 @@ static int select_devices(struct mddev_dev *devlist,
devname);
goto loop;
}
if (match && !ident_matches(match, content, tst,
c->homehost, c->update,
report_missmatch ? devname : NULL))
/* Array exists in mdadm.conf but some
* details don't match, so reject it
*/
goto loop;
/* should be safe to try an exclusive open now, we
* have rejected anything that some other mdadm might