提交 50da0840 编写于 作者: N NeilBrown

md: don't abort checking spares as soon as one cannot be added.

As spares can be added manually before a reshape starts, we need to
find them all to mark some of them as in_sync.

Previously we would abort looking for spares when we found an
unallocated spare what could not be added to the array (implying there
was no room for new spares).  However already-added spares could be
later in the list, so we need to keep searching.
Signed-off-by: NNeilBrown <neilb@suse.de>
上级 469518a3
...@@ -5587,8 +5587,7 @@ static int raid5_start_reshape(mddev_t *mddev) ...@@ -5587,8 +5587,7 @@ static int raid5_start_reshape(mddev_t *mddev)
if (sysfs_create_link(&mddev->kobj, if (sysfs_create_link(&mddev->kobj,
&rdev->kobj, nm)) &rdev->kobj, nm))
/* Failure here is OK */; /* Failure here is OK */;
} else }
break;
} else if (rdev->raid_disk >= conf->previous_raid_disks } else if (rdev->raid_disk >= conf->previous_raid_disks
&& !test_bit(Faulty, &rdev->flags)) { && !test_bit(Faulty, &rdev->flags)) {
/* This is a spare that was manually added */ /* This is a spare that was manually added */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册