diff options
-rw-r--r-- | drivers/md/raid1.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index 8c2754f835ef..240ff3125040 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c | |||
@@ -2485,9 +2485,10 @@ static sector_t sync_request(struct mddev *mddev, sector_t sector_nr, int *skipp | |||
2485 | */ | 2485 | */ |
2486 | if (test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery)) { | 2486 | if (test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery)) { |
2487 | atomic_set(&r1_bio->remaining, read_targets); | 2487 | atomic_set(&r1_bio->remaining, read_targets); |
2488 | for (i = 0; i < conf->raid_disks * 2; i++) { | 2488 | for (i = 0; i < conf->raid_disks * 2 && read_targets; i++) { |
2489 | bio = r1_bio->bios[i]; | 2489 | bio = r1_bio->bios[i]; |
2490 | if (bio->bi_end_io == end_sync_read) { | 2490 | if (bio->bi_end_io == end_sync_read) { |
2491 | read_targets--; | ||
2491 | md_sync_acct(bio->bi_bdev, nr_sectors); | 2492 | md_sync_acct(bio->bi_bdev, nr_sectors); |
2492 | generic_make_request(bio); | 2493 | generic_make_request(bio); |
2493 | } | 2494 | } |