summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-06-28 11:14:00 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2011-06-28 11:14:00 -0700
commit505cb6bc027ea8ae3782d2fdc47aa1915924ba80 (patch)
tree718e811d7fd83132a34a24721bafe0c76850db21
parent1d1221f375c94ef961ba8574ac4f85c8870ddd51 (diff)
parent4274215d24633df7302069e51426659d4759c5ed (diff)
Merge branch 'for-linus' of git://neil.brown.name/md
* 'for-linus' of git://neil.brown.name/md: md: avoid endless recovery loop when waiting for fail device to complete.
-rw-r--r--drivers/md/md.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 4332fc2f25d4..91e31e260b4a 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -7088,6 +7088,7 @@ static int remove_and_add_spares(mddev_t *mddev)
list_for_each_entry(rdev, &mddev->disks, same_set) {
if (rdev->raid_disk >= 0 &&
!test_bit(In_sync, &rdev->flags) &&
+ !test_bit(Faulty, &rdev->flags) &&
!test_bit(Blocked, &rdev->flags))
spares++;
if (rdev->raid_disk < 0