diff options
| -rw-r--r-- | drivers/md/raid5.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index eab6168bb7f4..8fba57e8f78b 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c | |||
| @@ -5559,9 +5559,6 @@ static int check_reshape(struct mddev *mddev) | |||
| 5559 | mddev->new_layout == mddev->layout && | 5559 | mddev->new_layout == mddev->layout && |
| 5560 | mddev->new_chunk_sectors == mddev->chunk_sectors) | 5560 | mddev->new_chunk_sectors == mddev->chunk_sectors) |
| 5561 | return 0; /* nothing to do */ | 5561 | return 0; /* nothing to do */ |
| 5562 | if (mddev->bitmap) | ||
| 5563 | /* Cannot grow a bitmap yet */ | ||
| 5564 | return -EBUSY; | ||
| 5565 | if (has_failed(conf)) | 5562 | if (has_failed(conf)) |
| 5566 | return -EINVAL; | 5563 | return -EINVAL; |
| 5567 | if (mddev->delta_disks < 0) { | 5564 | if (mddev->delta_disks < 0) { |
| @@ -5596,6 +5593,9 @@ static int raid5_start_reshape(struct mddev *mddev) | |||
| 5596 | if (!check_stripe_cache(mddev)) | 5593 | if (!check_stripe_cache(mddev)) |
| 5597 | return -ENOSPC; | 5594 | return -ENOSPC; |
| 5598 | 5595 | ||
| 5596 | if (has_failed(conf)) | ||
| 5597 | return -EINVAL; | ||
| 5598 | |||
| 5599 | rdev_for_each(rdev, mddev) { | 5599 | rdev_for_each(rdev, mddev) { |
| 5600 | if (!test_bit(In_sync, &rdev->flags) | 5600 | if (!test_bit(In_sync, &rdev->flags) |
| 5601 | && !test_bit(Faulty, &rdev->flags)) | 5601 | && !test_bit(Faulty, &rdev->flags)) |
