6d3790e1f8dd7e732021bf64178aa22961a10cfa
[yaffs2.git] / Kconfig
1 #
2 # YAFFS file system configurations
3 #
4
5 config YAFFS_FS
6         tristate "YAFFS2 file system support"
7         default n
8         depends on MTD_BLOCK
9         select YAFFS_YAFFS1
10         select YAFFS_YAFFS2
11         help
12           YAFFS2, or Yet Another Flash Filing System, is a filing system
13           optimised for NAND Flash chips.
14
15           To compile the YAFFS2 file system support as a module, choose M
16           here: the module will be called yaffs2.
17
18           If unsure, say N.
19
20           Further information on YAFFS2 is available at
21           <http://www.aleph1.co.uk/yaffs/>.
22
23 config YAFFS_YAFFS1
24         bool "512 byte / page devices"
25         depends on YAFFS_FS
26         default y
27         help
28           Enable YAFFS1 support -- yaffs for 512 byte / page devices
29
30           Not needed for 2K-page devices.
31
32           If unsure, say Y.
33
34 config YAFFS_9BYTE_TAGS
35         bool "Use older-style on-NAND data format with pageStatus byte"
36         depends on YAFFS_YAFFS1
37         default n
38         help
39
40           Older-style on-NAND data format has a "pageStatus" byte to record
41           chunk/page state.  This byte is zero when the page is discarded.
42           Choose this option if you have existing on-NAND data using this
43           format that you need to continue to support.  New data written
44           also uses the older-style format.  Note: Use of this option
45           generally requires that MTD's oob layout be adjusted to use the
46           older-style format.  See notes on tags formats and MTD versions
47           in yaffs_mtdif1.c.
48
49           If unsure, say N.
50
51 config YAFFS_DOES_ECC
52         bool "Lets Yaffs do its own ECC"
53         depends on YAFFS_FS && YAFFS_YAFFS1 && !YAFFS_9BYTE_TAGS
54         default n
55         help
56           This enables Yaffs to use its own ECC functions instead of using
57           the ones from the generic MTD-NAND driver.
58
59           If unsure, say N.
60
61 config YAFFS_ECC_WRONG_ORDER
62         bool "Use the same ecc byte order as Steven Hill's nand_ecc.c"
63         depends on YAFFS_FS && YAFFS_DOES_ECC && !YAFFS_9BYTE_TAGS
64         default n
65         help
66           This makes yaffs_ecc.c use the same ecc byte order as Steven
67           Hill's nand_ecc.c. If not set, then you get the same ecc byte
68           order as SmartMedia.
69
70           If unsure, say N.
71
72 config YAFFS_YAFFS2
73         bool "2048 byte (or larger) / page devices"
74         depends on YAFFS_FS
75         default y
76         help
77           Enable YAFFS2 support -- yaffs for >= 2K bytes per page devices
78
79           If unsure, say Y.
80
81 config YAFFS_AUTO_YAFFS2
82         bool "Autoselect yaffs2 format"
83         depends on YAFFS_YAFFS2
84         default y
85         help
86           Without this, you need to explicitely use yaffs2 as the file
87           system type. With this, you can say "yaffs" and yaffs or yaffs2
88           will be used depending on the device page size (yaffs on
89           512-byte page devices, yaffs2 on 2K page devices).
90
91           If unsure, say Y.
92
93 config YAFFS_DISABLE_TAGS_ECC
94         bool "Disable YAFFS from doing ECC on tags by default"
95         depends on YAFFS_FS && YAFFS_YAFFS2
96         default n
97         help
98           This defaults Yaffs to using its own ECC calculations on tags instead of
99           just relying on the MTD.
100           This behavior can also be overridden with tags_ecc_on and
101           tags_ecc_off mount options.
102
103           If unsure, say N.
104
105 config YAFFS_DISABLE_LAZY_LOAD
106         bool "Disable lazy loading"
107         depends on YAFFS_YAFFS2
108         default n
109         help
110           "Lazy loading" defers loading file details until they are
111           required. This saves mount time, but makes the first look-up
112           a bit longer.
113
114           Lazy loading will only happen if enabled by this option being 'n'
115           and if the appropriate tags are available, else yaffs2 will
116           automatically fall back to immediate loading and do the right
117           thing.
118
119           Lazy laoding will be required by checkpointing.
120
121           Setting this to 'y' will disable lazy loading.
122
123           If unsure, say N.
124
125
126 config YAFFS_DISABLE_WIDE_TNODES
127         bool "Turn off wide tnodes"
128         depends on YAFFS_FS
129         default n
130         help
131           Wide tnodes are only used for NAND arrays >=32MB for 512-byte
132           page devices and >=128MB for 2k page devices. They use slightly
133           more RAM but are faster since they eliminate chunk group
134           searching.
135
136           Setting this to 'y' will force tnode width to 16 bits and save
137           memory but make large arrays slower.
138
139           If unsure, say N.
140
141 config YAFFS_ALWAYS_CHECK_CHUNK_ERASED
142         bool "Force chunk erase check"
143         depends on YAFFS_FS
144         default n
145         help
146           Normally YAFFS only checks chunks before writing until an erased
147           chunk is found. This helps to detect any partially written
148           chunks that might have happened due to power loss.
149
150           Enabling this forces on the test that chunks are erased in flash
151           before writing to them. This takes more time but is potentially
152           a bit more secure.
153
154           Suggest setting Y during development and ironing out driver
155           issues etc. Suggest setting to N if you want faster writing.
156
157           If unsure, say Y.
158
159 config YAFFS_SHORT_NAMES_IN_RAM
160         bool "Cache short names in RAM"
161         depends on YAFFS_FS
162         default y
163         help
164           If this config is set, then short names are stored with the
165           yaffs_Object.  This costs an extra 16 bytes of RAM per object,
166           but makes look-ups faster.
167
168           If unsure, say Y.
169
170 config YAFFS_EMPTY_LOST_AND_FOUND
171         bool "Empty lost and found on boot"
172         depends on YAFFS_FS
173         default n
174         help
175           If this is enabled then the contents of lost and found is
176           automatically dumped at mount.
177
178 config YAFFS_DISABLE_BLOCK_REFRESHING
179         bool "Disable yaffs2 block refreshing"
180         depends on YAFFS_FS
181         default n
182         help
183          If this is set, then block refreshing is disabled.
184          Block refreshing infrequently refreshes the oldest block in
185          a yaffs2 file system. This mechanism helps to refresh flash to
186          mitigate against data loss. This is particularly useful for MLC.