generic: fold yaffs_git_2010_10_20 patch to generic/files
[openwrt/openwrt.git] / target / linux / generic / files / fs / yaffs2 / 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
106 config YAFFS_DISABLE_WIDE_TNODES
107 bool "Turn off wide tnodes"
108 depends on YAFFS_FS
109 default n
110 help
111 Wide tnodes are only used for NAND arrays >=32MB for 512-byte
112 page devices and >=128MB for 2k page devices. They use slightly
113 more RAM but are faster since they eliminate chunk group
114 searching.
115
116 Setting this to 'y' will force tnode width to 16 bits and save
117 memory but make large arrays slower.
118
119 If unsure, say N.
120
121 config YAFFS_ALWAYS_CHECK_CHUNK_ERASED
122 bool "Force chunk erase check"
123 depends on YAFFS_FS
124 default n
125 help
126 Normally YAFFS only checks chunks before writing until an erased
127 chunk is found. This helps to detect any partially written
128 chunks that might have happened due to power loss.
129
130 Enabling this forces on the test that chunks are erased in flash
131 before writing to them. This takes more time but is potentially
132 a bit more secure.
133
134 Suggest setting Y during development and ironing out driver
135 issues etc. Suggest setting to N if you want faster writing.
136
137 If unsure, say Y.
138
139 config YAFFS_SHORT_NAMES_IN_RAM
140 bool "Cache short names in RAM"
141 depends on YAFFS_FS
142 default y
143 help
144 If this config is set, then short names are stored with the
145 yaffs_Object. This costs an extra 16 bytes of RAM per object,
146 but makes look-ups faster.
147
148 If unsure, say Y.
149
150 config YAFFS_EMPTY_LOST_AND_FOUND
151 bool "Empty lost and found on boot"
152 depends on YAFFS_FS
153 default n
154 help
155 If this is enabled then the contents of lost and found is
156 automatically dumped at mount.
157
158 If unsure, say N.
159
160 config YAFFS_DISABLE_BLOCK_REFRESHING
161 bool "Disable yaffs2 block refreshing"
162 depends on YAFFS_FS
163 default n
164 help
165 If this is set, then block refreshing is disabled.
166 Block refreshing infrequently refreshes the oldest block in
167 a yaffs2 file system. This mechanism helps to refresh flash to
168 mitigate against data loss. This is particularly useful for MLC.
169
170 If unsure, say N.
171
172 config YAFFS_DISABLE_BACKGROUND
173 bool "Disable yaffs2 background processing"
174 depends on YAFFS_FS
175 default n
176 help
177 If this is set, then background processing is disabled.
178 Background processing makes many foreground activities faster.
179
180 If unsure, say N.
181
182 config YAFFS_XATTR
183 bool "Enable yaffs2 xattr support"
184 depends on YAFFS_FS
185 default y
186 help
187 If this is set then yaffs2 will provide xattr support.
188 If unsure, say Y.
189
190