When configured with CONFIG_YAFFS_9BYTE_TAGS, set chunkDeleted state using
[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
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
48           If unsure, say N.
49
50 config YAFFS_DOES_ECC
51         bool "Lets Yaffs do its own ECC"
52         depends on YAFFS_FS && YAFFS_YAFFS1 && !YAFFS_9BYTE_TAGS
53         default n
54         help
55           This enables Yaffs to use its own ECC functions instead of using
56           the ones from the generic MTD-NAND driver.
57
58           If unsure, say N.
59
60 config YAFFS_ECC_WRONG_ORDER
61         bool "Use the same ecc byte order as Steven Hill's nand_ecc.c"
62         depends on YAFFS_FS && YAFFS_DOES_ECC && !YAFFS_9BYTE_TAGS
63         default n
64         help
65           This makes yaffs_ecc.c use the same ecc byte order as Steven
66           Hill's nand_ecc.c. If not set, then you get the same ecc byte
67           order as SmartMedia.
68
69           If unsure, say N.
70
71 config YAFFS_YAFFS2
72         bool "2048 byte (or larger) / page devices"
73         depends on YAFFS_FS
74         default y
75         help
76           Enable YAFFS2 support -- yaffs for >= 2K bytes per page devices
77
78           If unsure, say Y.
79
80 config YAFFS_AUTO_YAFFS2
81         bool "Autoselect yaffs2 format"
82         depends on YAFFS_YAFFS2
83         default y
84         help
85           Without this, you need to explicitely use yaffs2 as the file
86           system type. With this, you can say "yaffs" and yaffs or yaffs2
87           will be used depending on the device page size (yaffs on
88           512-byte page devices, yaffs2 on 2K page devices).
89
90           If unsure, say Y.
91
92 config YAFFS_DISABLE_LAZY_LOAD
93         bool "Disable lazy loading"
94         depends on YAFFS_YAFFS2
95         default n
96         help
97           "Lazy loading" defers loading file details until they are
98           required. This saves mount time, but makes the first look-up
99           a bit longer.
100
101           Lazy loading will only happen if enabled by this option being 'n'
102           and if the appropriate tags are available, else yaffs2 will
103           automatically fall back to immediate loading and do the right
104           thing.
105
106           Lazy laoding will be required by checkpointing.
107
108           Setting this to 'y' will disable lazy loading.
109
110           If unsure, say N.
111
112 config YAFFS_CHECKPOINT_RESERVED_BLOCKS
113         int "Reserved blocks for checkpointing"
114         depends on YAFFS_YAFFS2
115         default 10
116         help
117           Give the number of Blocks to reserve for checkpointing.
118           Checkpointing saves the state at unmount so that mounting is
119           much faster as a scan of all the flash to regenerate this state
120           is not needed.  These Blocks are reserved per partition, so if
121           you have very small partitions the default (10) may be a mess
122           for you.  You can set this value to 0, but that does not mean
123           checkpointing is disabled at all. There only won't be any
124           specially reserved blocks for checkpointing, so if there is
125           enough free space on the filesystem, it will be used for
126           checkpointing.
127
128           If unsure, leave at default (10), but don't wonder if there are
129           always 2MB used on your large page device partition (10 x 2k
130           pagesize). When using small partitions or when being very small
131           on space, you probably want to set this to zero.
132
133 config YAFFS_DISABLE_WIDE_TNODES
134         bool "Turn off wide tnodes"
135         depends on YAFFS_FS
136         default n
137         help
138           Wide tnodes are only used for NAND arrays >=32MB for 512-byte
139           page devices and >=128MB for 2k page devices. They use slightly
140           more RAM but are faster since they eliminate chunk group
141           searching.
142
143           Setting this to 'y' will force tnode width to 16 bits and save
144           memory but make large arrays slower.
145
146           If unsure, say N.
147
148 config YAFFS_ALWAYS_CHECK_CHUNK_ERASED
149         bool "Force chunk erase check"
150         depends on YAFFS_FS
151         default n
152         help
153           Normally YAFFS only checks chunks before writing until an erased
154           chunk is found. This helps to detect any partially written
155           chunks that might have happened due to power loss.
156
157           Enabling this forces on the test that chunks are erased in flash
158           before writing to them. This takes more time but is potentially
159           a bit more secure.
160  
161           Suggest setting Y during development and ironing out driver
162           issues etc. Suggest setting to N if you want faster writing.  
163
164           If unsure, say Y.
165
166 config YAFFS_SHORT_NAMES_IN_RAM
167         bool "Cache short names in RAM"
168         depends on YAFFS_FS
169         default y
170         help
171           If this config is set, then short names are stored with the
172           yaffs_Object.  This costs an extra 16 bytes of RAM per object,
173           but makes look-ups faster.
174
175           If unsure, say Y.