Merge branch 'topic/jack-mechanical' into to-push
[linux-2.6] / fs / jffs2 / Kconfig
1 config JFFS2_FS
2         tristate "Journalling Flash File System v2 (JFFS2) support"
3         select CRC32
4         depends on MTD
5         help
6           JFFS2 is the second generation of the Journalling Flash File System
7           for use on diskless embedded devices. It provides improved wear
8           levelling, compression and support for hard links. You cannot use
9           this on normal block devices, only on 'MTD' devices.
10
11           Further information on the design and implementation of JFFS2 is
12           available at <http://sources.redhat.com/jffs2/>.
13
14 config JFFS2_FS_DEBUG
15         int "JFFS2 debugging verbosity (0 = quiet, 2 = noisy)"
16         depends on JFFS2_FS
17         default "0"
18         help
19           This controls the amount of debugging messages produced by the JFFS2
20           code. Set it to zero for use in production systems. For evaluation,
21           testing and debugging, it's advisable to set it to one. This will
22           enable a few assertions and will print debugging messages at the
23           KERN_DEBUG loglevel, where they won't normally be visible. Level 2
24           is unlikely to be useful - it enables extra debugging in certain
25           areas which at one point needed debugging, but when the bugs were
26           located and fixed, the detailed messages were relegated to level 2.
27
28           If reporting bugs, please try to have available a full dump of the
29           messages at debug level 1 while the misbehaviour was occurring.
30
31 config JFFS2_FS_WRITEBUFFER
32         bool "JFFS2 write-buffering support"
33         depends on JFFS2_FS
34         default y
35         help
36           This enables the write-buffering support in JFFS2.
37
38           This functionality is required to support JFFS2 on the following
39           types of flash devices:
40             - NAND flash
41             - NOR flash with transparent ECC
42             - DataFlash
43
44 config JFFS2_FS_WBUF_VERIFY
45         bool "Verify JFFS2 write-buffer reads"
46         depends on JFFS2_FS_WRITEBUFFER
47         default n
48         help
49           This causes JFFS2 to read back every page written through the
50           write-buffer, and check for errors.
51
52 config JFFS2_SUMMARY
53         bool "JFFS2 summary support (EXPERIMENTAL)"
54         depends on JFFS2_FS && EXPERIMENTAL
55         default n
56         help
57           This feature makes it possible to use summary information
58           for faster filesystem mount.
59
60           The summary information can be inserted into a filesystem image
61           by the utility 'sumtool'.
62
63           If unsure, say 'N'.
64
65 config JFFS2_FS_XATTR
66         bool "JFFS2 XATTR support (EXPERIMENTAL)"
67         depends on JFFS2_FS && EXPERIMENTAL
68         default n
69         help
70           Extended attributes are name:value pairs associated with inodes by
71           the kernel or by users (see the attr(5) manual page, or visit
72           <http://acl.bestbits.at/> for details).
73
74           If unsure, say N.
75
76 config JFFS2_FS_POSIX_ACL
77         bool "JFFS2 POSIX Access Control Lists"
78         depends on JFFS2_FS_XATTR
79         default y
80         select FS_POSIX_ACL
81         help
82           Posix Access Control Lists (ACLs) support permissions for users and
83           groups beyond the owner/group/world scheme.
84
85           To learn more about Access Control Lists, visit the Posix ACLs for
86           Linux website <http://acl.bestbits.at/>.
87
88           If you don't know what Access Control Lists are, say N
89
90 config JFFS2_FS_SECURITY
91         bool "JFFS2 Security Labels"
92         depends on JFFS2_FS_XATTR
93         default y
94         help
95           Security labels support alternative access control models
96           implemented by security modules like SELinux.  This option
97           enables an extended attribute handler for file security
98           labels in the jffs2 filesystem.
99
100           If you are not using a security module that requires using
101           extended attributes for file security labels, say N.
102
103 config JFFS2_COMPRESSION_OPTIONS
104         bool "Advanced compression options for JFFS2"
105         depends on JFFS2_FS
106         default n
107         help
108           Enabling this option allows you to explicitly choose which
109           compression modules, if any, are enabled in JFFS2. Removing
110           compressors can mean you cannot read existing file systems,
111           and enabling experimental compressors can mean that you
112           write a file system which cannot be read by a standard kernel.
113
114           If unsure, you should _definitely_ say 'N'.
115
116 config JFFS2_ZLIB
117         bool "JFFS2 ZLIB compression support" if JFFS2_COMPRESSION_OPTIONS
118         select ZLIB_INFLATE
119         select ZLIB_DEFLATE
120         depends on JFFS2_FS
121         default y
122         help
123           Zlib is designed to be a free, general-purpose, legally unencumbered,
124           lossless data-compression library for use on virtually any computer
125           hardware and operating system. See <http://www.gzip.org/zlib/> for
126           further information.
127
128           Say 'Y' if unsure.
129
130 config JFFS2_LZO
131         bool "JFFS2 LZO compression support" if JFFS2_COMPRESSION_OPTIONS
132         select LZO_COMPRESS
133         select LZO_DECOMPRESS
134         depends on JFFS2_FS
135         default n
136         help
137           minilzo-based compression. Generally works better than Zlib.
138
139           This feature was added in July, 2007. Say 'N' if you need
140           compatibility with older bootloaders or kernels.
141
142 config JFFS2_RTIME
143         bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS
144         depends on JFFS2_FS
145         default y
146         help
147           Rtime does manage to recompress already-compressed data. Say 'Y' if unsure.
148
149 config JFFS2_RUBIN
150         bool "JFFS2 RUBIN compression support" if JFFS2_COMPRESSION_OPTIONS
151         depends on JFFS2_FS
152         default n
153         help
154           RUBINMIPS and DYNRUBIN compressors. Say 'N' if unsure.
155
156 choice
157         prompt "JFFS2 default compression mode" if JFFS2_COMPRESSION_OPTIONS
158         default JFFS2_CMODE_PRIORITY
159         depends on JFFS2_FS
160         help
161           You can set here the default compression mode of JFFS2 from
162           the available compression modes. Don't touch if unsure.
163
164 config JFFS2_CMODE_NONE
165         bool "no compression"
166         help
167           Uses no compression.
168
169 config JFFS2_CMODE_PRIORITY
170         bool "priority"
171         help
172           Tries the compressors in a predefined order and chooses the first
173           successful one.
174
175 config JFFS2_CMODE_SIZE
176         bool "size (EXPERIMENTAL)"
177         help
178           Tries all compressors and chooses the one which has the smallest
179           result.
180
181 config JFFS2_CMODE_FAVOURLZO
182         bool "Favour LZO"
183         help
184           Tries all compressors and chooses the one which has the smallest
185           result but gives some preference to LZO (which has faster
186           decompression) at the expense of size.
187
188 endchoice