diff options
Diffstat (limited to 'drivers/md/raid10.c')
-rw-r--r-- | drivers/md/raid10.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index 3578d3aa9ee3..ae4dce1cbc42 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c | |||
@@ -707,7 +707,6 @@ static struct md_rdev *read_balance(struct r10conf *conf, | |||
707 | 707 | ||
708 | raid10_find_phys(conf, r10_bio); | 708 | raid10_find_phys(conf, r10_bio); |
709 | rcu_read_lock(); | 709 | rcu_read_lock(); |
710 | retry: | ||
711 | sectors = r10_bio->sectors; | 710 | sectors = r10_bio->sectors; |
712 | best_slot = -1; | 711 | best_slot = -1; |
713 | best_rdev = NULL; | 712 | best_rdev = NULL; |
@@ -804,13 +803,6 @@ retry: | |||
804 | 803 | ||
805 | if (slot >= 0) { | 804 | if (slot >= 0) { |
806 | atomic_inc(&rdev->nr_pending); | 805 | atomic_inc(&rdev->nr_pending); |
807 | if (test_bit(Faulty, &rdev->flags)) { | ||
808 | /* Cannot risk returning a device that failed | ||
809 | * before we inc'ed nr_pending | ||
810 | */ | ||
811 | rdev_dec_pending(rdev, conf->mddev); | ||
812 | goto retry; | ||
813 | } | ||
814 | r10_bio->read_slot = slot; | 806 | r10_bio->read_slot = slot; |
815 | } else | 807 | } else |
816 | rdev = NULL; | 808 | rdev = NULL; |