summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorArve Hjønnevåg <arve@android.com>2009-04-03 19:05:50 -0700
committerArve Hjønnevåg <arve@android.com>2010-02-08 15:09:08 -0800
commita660ce8105791a9ef6b4cf4836cac073c8736442 (patch)
treebcac2c0c32aed7b123a35a9709f08d501fbfb97e /fs
parentd7288aee1853ac9eda4e7bb7e6f723e545f5be0c (diff)
yaffs: Update stats when using mtdif2.
Diffstat (limited to 'fs')
-rw-r--r--fs/yaffs2/yaffs_mtdif2.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/fs/yaffs2/yaffs_mtdif2.c b/fs/yaffs2/yaffs_mtdif2.c
index fcb50992cdeb..bd8128c06f05 100644
--- a/fs/yaffs2/yaffs_mtdif2.c
+++ b/fs/yaffs2/yaffs_mtdif2.c
@@ -52,6 +52,7 @@ int nandmtd2_WriteChunkWithTagsToNAND(yaffs_Device *dev, int chunkInNAND,
("nandmtd2_WriteChunkWithTagsToNAND chunk %d data %p tags %p"
TENDSTR), chunkInNAND, data, tags));
+ dev->nPageWrites++;
addr = ((loff_t) chunkInNAND) * dev->totalBytesPerChunk;
@@ -115,6 +116,8 @@ int nandmtd2_ReadChunkWithTagsFromNAND(yaffs_Device *dev, int chunkInNAND,
("nandmtd2_ReadChunkWithTagsFromNAND chunk %d data %p tags %p"
TENDSTR), chunkInNAND, data, tags));
+ dev->nPageReads++;
+
if (dev->inbandTags) {
if (!data) {
@@ -174,10 +177,14 @@ int nandmtd2_ReadChunkWithTagsFromNAND(yaffs_Device *dev, int chunkInNAND,
if (localData)
yaffs_ReleaseTempBuffer(dev, data, __LINE__);
- if (tags && retval == -EBADMSG && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR)
+ if (tags && retval == -EBADMSG && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR) {
tags->eccResult = YAFFS_ECC_RESULT_UNFIXED;
- if (tags && retval == -EUCLEAN && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR)
+ dev->eccUnfixed++;
+ }
+ if (tags && retval == -EUCLEAN && tags->eccResult == YAFFS_ECC_RESULT_NO_ERROR) {
tags->eccResult = YAFFS_ECC_RESULT_FIXED;
+ dev->eccFixed++;
+ }
if (retval == 0)
return YAFFS_OK;
else