If unsure, say N.
-config YAFFS_DISABLE_LAZY_LOAD
- bool "Disable lazy loading"
- depends on YAFFS_YAFFS2
- default n
- help
- "Lazy loading" defers loading file details until they are
- required. This saves mount time, but makes the first look-up
- a bit longer.
-
- Lazy loading will only happen if enabled by this option being 'n'
- and if the appropriate tags are available, else yaffs2 will
- automatically fall back to immediate loading and do the right
- thing.
-
- Lazy laoding will be required by checkpointing.
-
- Setting this to 'y' will disable lazy loading.
-
- If unsure, say N.
-
config YAFFS_DISABLE_WIDE_TNODES
bool "Turn off wide tnodes"
-# Main Makefile for YAFFS
+# Main Makefile for out-of-tree yaffs2.ko building
#
#
# YAFFS: Yet Another Flash File System. A NAND-flash specific file system.
/* Note YAFFS_GC_GOOD_ENOUGH must be <= YAFFS_GC_PASSIVE_THRESHOLD */
#define YAFFS_GC_GOOD_ENOUGH 2
#define YAFFS_GC_PASSIVE_THRESHOLD 4
+
#define YAFFS_SMALL_HOLE_THRESHOLD 3
#include "yaffs_ecc.h"
static __u32 Shifts(__u32 x)
{
- int nShifts;
+ __u32 nShifts;
nShifts = 0;
dev = in->myDev;
while (n > 0 && chunkWritten >= 0) {
- /* chunk = offset / dev->nDataBytesPerChunk + 1; */
- /* start = offset % dev->nDataBytesPerChunk; */
yaffs_AddrToChunk(dev, offset, &chunk, &start);
if (chunk * dev->nDataBytesPerChunk + start != offset ||
TENDSTR),
(int)offset, chunk, start));
}
- chunk++;
+ chunk++; /* File pos to chunk in file offset */
/* OK now check for the curveball where the start and end are in
* the same chunk.
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;
+ 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
if (tags &&
tags->eccResult > YAFFS_ECC_RESULT_NO_ERROR) {
- yaffs_BlockInfo *bi = yaffs_GetBlockInfo(dev, chunkInNAND/dev->param.nChunksPerBlock);
+ yaffs_BlockInfo *bi;
+ bi = yaffs_GetBlockInfo(dev, chunkInNAND/dev->param.nChunksPerBlock);
yaffs_HandleChunkError(dev, bi);
}
#ifndef YBUG
-#define YBUG() do {T(YAFFS_TRACE_BUG, (TSTR("==>> yaffs bug: " __FILE__ " %d" TENDSTR), __LINE__)); } while (0)
+#define YBUG() do {\
+ T(YAFFS_TRACE_BUG,\
+ (TSTR("==>> yaffs bug: " __FILE__ " %d" TENDSTR),\
+ __LINE__));\
+} while (0)
#endif
#endif