aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/md/raid5.c6
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))