diff options
author | Namhyung Kim <namhyung@gmail.com> | 2011-07-27 11:00:36 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2011-07-27 11:00:36 +1000 |
commit | cbea21703b2484f83faef040ed1de30114794392 (patch) | |
tree | a6b06a5341cb8ece8807b09d3f35f928671b8578 /drivers/md | |
parent | ddd5115fe5594f5aae3c7f0008a5327bb1d19397 (diff) | |
download | blackbird-op-linux-cbea21703b2484f83faef040ed1de30114794392.tar.gz blackbird-op-linux-cbea21703b2484f83faef040ed1de30114794392.zip |
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/md')
-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) test_bit(In_sync, &rdev->flags)) { atomic_inc(&rdev->nr_pending); rcu_read_unlock(); - atomic_add(s, &rdev->corrected_errors); if (sync_page_io(rdev, r10_bio->devs[sl].addr + sect, @@ -1598,6 +1597,7 @@ static void fix_read_error(conf_t *conf, mddev_t *mddev, r10bio_t *r10_bio) (unsigned long long)( sect + rdev->data_offset), bdevname(rdev->bdev, b)); + atomic_add(s, &rdev->corrected_errors); } rdev_dec_pending(rdev, mddev); |