aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung@gmail.com>2011-07-26 21:00:36 -0400
committerNeilBrown <neilb@suse.de>2011-07-26 21:00:36 -0400
commitcbea21703b2484f83faef040ed1de30114794392 (patch)
treea6b06a5341cb8ece8807b09d3f35f928671b8578 /drivers
parentddd5115fe5594f5aae3c7f0008a5327bb1d19397 (diff)
md/raid10: move rdev->corrected_errors counting
Read errors are considered to corrected if write-back and re-read cycle is finished without further problems. Thus moving the rdev-> corrected_errors counting after the re-reading looks more reasonable IMHO. Signed-off-by: Namhyung Kim <namhyung@gmail.com> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/md/raid10.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index 6721cb080354..5def27c28be7 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -1533,7 +1533,6 @@ static void fix_read_error(conf_t *conf, mddev_t *mddev, r10bio_t *r10_bio)
1533 test_bit(In_sync, &rdev->flags)) { 1533 test_bit(In_sync, &rdev->flags)) {
1534 atomic_inc(&rdev->nr_pending); 1534 atomic_inc(&rdev->nr_pending);
1535 rcu_read_unlock(); 1535 rcu_read_unlock();
1536 atomic_add(s, &rdev->corrected_errors);
1537 if (sync_page_io(rdev, 1536 if (sync_page_io(rdev,
1538 r10_bio->devs[sl].addr + 1537 r10_bio->devs[sl].addr +
1539 sect, 1538 sect,
@@ -1598,6 +1597,7 @@ static void fix_read_error(conf_t *conf, mddev_t *mddev, r10bio_t *r10_bio)
1598 (unsigned long long)( 1597 (unsigned long long)(
1599 sect + rdev->data_offset), 1598 sect + rdev->data_offset),
1600 bdevname(rdev->bdev, b)); 1599 bdevname(rdev->bdev, b));
1600 atomic_add(s, &rdev->corrected_errors);
1601 } 1601 }
1602 1602
1603 rdev_dec_pending(rdev, mddev); 1603 rdev_dec_pending(rdev, mddev);