2 # YAFFS file system configurations
6 tristate "YAFFS2 file system support"
12 YAFFS2, or Yet Another Flash Filing System, is a filing system
13 optimised for NAND Flash chips.
15 To compile the YAFFS2 file system support as a module, choose M
16 here: the module will be called yaffs2.
20 Further information on YAFFS2 is available at
21 <http://www.aleph1.co.uk/yaffs/>.
24 bool "512 byte / page devices"
28 Enable YAFFS1 support -- yaffs for 512 byte / page devices
30 Not needed for 2K-page devices.
35 bool "Lets Yaffs do its own ECC"
36 depends on YAFFS_FS && YAFFS_YAFFS1
39 This enables Yaffs to use its own ECC functions instead of using
40 the ones from the generic MTD-NAND driver.
44 config YAFFS_ECC_WRONG_ORDER
45 bool "Use the same ecc byte order as Steven Hill's nand_ecc.c"
46 depends on YAFFS_FS && YAFFS_DOES_ECC
49 This makes yaffs_ecc.c use the same ecc byte order as Steven
50 Hill's nand_ecc.c. If not set, then you get the same ecc byte
56 bool "2048 byte (or larger) / page devices"
60 Enable YAFFS2 support -- yaffs for >= 2K bytes per page devices
64 config YAFFS_AUTO_YAFFS2
65 bool "Autoselect yaffs2 format"
66 depends on YAFFS_YAFFS2
69 Without this, you need to explicitely use yaffs2 as the file
70 system type. With this, you can say "yaffs" and yaffs or yaffs2
71 will be used depending on the device page size (yaffs on
72 512-byte page devices, yaffs2 on 2K page devices).
76 config YAFFS_DISABLE_LAZY_LOAD
77 bool "Disable lazy loading"
78 depends on YAFFS_YAFFS2
81 "Lazy loading" defers loading file details until they are
82 required. This saves mount time, but makes the first look-up
85 Lazy loading will only happen if enabled by this option being 'n'
86 and if the appropriate tags are available, else yaffs2 will
87 automatically fall back to immediate loading and do the right
90 Lazy laoding will be required by checkpointing.
92 Setting this to 'y' will disable lazy loading.
96 config YAFFS_CHECKPOINT_RESERVED_BLOCKS
97 int "Reserved blocks for checkpointing"
98 depends on YAFFS_YAFFS2
101 Give the number of Blocks to reserve for checkpointing.
102 Checkpointing saves the state at unmount so that mounting is
103 much faster as a scan of all the flash to regenerate this state
104 is not needed. These Blocks are reserved per partition, so if
105 you have very small partitions the default (10) may be a mess
106 for you. You can set this value to 0, but that does not mean
107 checkpointing is disabled at all. There only won't be any
108 specially reserved blocks for checkpointing, so if there is
109 enough free space on the filesystem, it will be used for
112 If unsure, leave at default (10), but don't wonder if there are
113 always 2MB used on your large page device partition (10 x 2k
114 pagesize). When using small partitions or when being very small
115 on space, you probably want to set this to zero.
117 config YAFFS_DISABLE_WIDE_TNODES
118 bool "Turn off wide tnodes"
122 Wide tnodes are only used for NAND arrays >=32MB for 512-byte
123 page devices and >=128MB for 2k page devices. They use slightly
124 more RAM but are faster since they eliminate chunk group
127 Setting this to 'y' will force tnode width to 16 bits and save
128 memory but make large arrays slower.
132 config YAFFS_ALWAYS_CHECK_CHUNK_ERASED
133 bool "Force chunk erase check"
137 Normally YAFFS only checks chunks before writing until an erased
138 chunk is found. This helps to detect any partially written
139 chunks that might have happened due to power loss.
141 Enabling this forces on the test that chunks are erased in flash
142 before writing to them. This takes more time but is potentially
145 Suggest setting Y during development and ironing out driver
146 issues etc. Suggest setting to N if you want faster writing.
150 config YAFFS_SHORT_NAMES_IN_RAM
151 bool "Cache short names in RAM"
155 If this config is set, then short names are stored with the
156 yaffs_Object. This costs an extra 16 bytes of RAM per object,
157 but makes look-ups faster.