imsm: FIX: No new missing disks are allowed during general migration

When during incremental assembly general migration is in progress,
starting degraded array causes that no more disks (even present)
can be added later as array is already started.

Request all previously present disks during general migration for assembly.

Signed-off-by: Adam Kwolek <adam.kwolek@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
Adam Kwolek 2012-02-07 15:03:11 +01:00 committed by NeilBrown
parent 92d49ecfaa
commit d2bde6d3aa
1 changed files with 11 additions and 1 deletions

View File

@ -2683,7 +2683,17 @@ static void getinfo_super_imsm(struct supertype *st, struct mdinfo *info, char *
enough = 0;
else /* we're normal, or already degraded */
enough = 1;
if (is_gen_migration(dev) && missing) {
/* during general migration we need all disks
* that process is running on.
* No new missing disk is allowed.
*/
max_enough = -1;
enough = -1;
/* no more checks necessary
*/
break;
}
/* in the missing/failed disk case check to see
* if at least one array is runnable
*/