yaffs: Update stats when using mtdif2.
authorArve Hjønnevåg <arve@android.com>
Sat, 4 Apr 2009 02:05:50 +0000 (19:05 -0700)
committerArve Hjønnevåg <arve@android.com>
Mon, 8 Feb 2010 23:09:08 +0000 (15:09 -0800)
fs/yaffs2/yaffs_mtdif2.c

index fcb50992cdebda0904ef5aba1bb8760b25352555..bd8128c06f053320212872850863cf9fd9ce7abb 100644 (file)
@@ -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