[PATCH] md: Fix bug that stops raid5 resync from happening
As data_disks is *less* than raid_disks, the current test here is obviously wrong. And as the difference is already available in conf->max_degraded, it makes much more sense to use that. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
b3cc9ec76b
commit
3285edf152
|
@ -2858,7 +2858,7 @@ static inline sector_t sync_request(mddev_t *mddev, sector_t sector_nr, int *ski
|
||||||
* to resync, then assert that we are finished, because there is
|
* to resync, then assert that we are finished, because there is
|
||||||
* nothing we can do.
|
* nothing we can do.
|
||||||
*/
|
*/
|
||||||
if (mddev->degraded >= (data_disks - raid_disks) &&
|
if (mddev->degraded >= conf->max_degraded &&
|
||||||
test_bit(MD_RECOVERY_SYNC, &mddev->recovery)) {
|
test_bit(MD_RECOVERY_SYNC, &mddev->recovery)) {
|
||||||
sector_t rv = (mddev->size << 1) - sector_nr;
|
sector_t rv = (mddev->size << 1) - sector_nr;
|
||||||
*skipped = 1;
|
*skipped = 1;
|
||||||
|
|
Loading…
Reference in New Issue