diff options
author | Namhyung Kim <namhyung@gmail.com> | 2011-07-26 21:00:36 -0400 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2011-07-26 21:00:36 -0400 |
commit | cbea21703b2484f83faef040ed1de30114794392 (patch) | |
tree | a6b06a5341cb8ece8807b09d3f35f928671b8578 /drivers | |
parent | ddd5115fe5594f5aae3c7f0008a5327bb1d19397 (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.c | 2 |
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); |