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>2009-04-07 16:43:37 -0700
commitf5bb3e3b7ea88b7b3b0691f132d83cc7fa8ec768 (patch)
tree8f6ee49cc696263d5f8d2d0504e1ce3dc1f0dbe8 /fs
parent3ad4aa636883af9b2535691660959452301c5fe7 (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