1config 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
14config 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
31config 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
44config 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
52config JFFS2_SUMMARY
53	bool "JFFS2 summary support"
54	depends on JFFS2_FS
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
65config JFFS2_FS_XATTR
66	bool "JFFS2 XATTR support"
67	depends on JFFS2_FS
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 for details).
72
73	  If unsure, say N.
74
75config JFFS2_FS_POSIX_ACL
76	bool "JFFS2 POSIX Access Control Lists"
77	depends on JFFS2_FS_XATTR
78	default y
79	select FS_POSIX_ACL
80	help
81	  Posix Access Control Lists (ACLs) support permissions for users and
82	  groups beyond the owner/group/world scheme.
83
84	  If you don't know what Access Control Lists are, say N
85
86config JFFS2_FS_SECURITY
87	bool "JFFS2 Security Labels"
88	depends on JFFS2_FS_XATTR
89	default y
90	help
91	  Security labels support alternative access control models
92	  implemented by security modules like SELinux.  This option
93	  enables an extended attribute handler for file security
94	  labels in the jffs2 filesystem.
95
96	  If you are not using a security module that requires using
97	  extended attributes for file security labels, say N.
98
99config JFFS2_COMPRESSION_OPTIONS
100	bool "Advanced compression options for JFFS2"
101	depends on JFFS2_FS
102	default n
103	help
104	  Enabling this option allows you to explicitly choose which
105	  compression modules, if any, are enabled in JFFS2. Removing
106	  compressors can mean you cannot read existing file systems,
107	  and enabling experimental compressors can mean that you
108	  write a file system which cannot be read by a standard kernel.
109
110	  If unsure, you should _definitely_ say 'N'.
111
112config JFFS2_ZLIB
113	bool "JFFS2 ZLIB compression support" if JFFS2_COMPRESSION_OPTIONS
114	select ZLIB_INFLATE
115	select ZLIB_DEFLATE
116	depends on JFFS2_FS
117	default y
118	help
119	  Zlib is designed to be a free, general-purpose, legally unencumbered,
120	  lossless data-compression library for use on virtually any computer
121	  hardware and operating system. See <http://www.gzip.org/zlib/> for
122	  further information.
123
124	  Say 'Y' if unsure.
125
126config JFFS2_LZO
127	bool "JFFS2 LZO compression support" if JFFS2_COMPRESSION_OPTIONS
128	select LZO_COMPRESS
129	select LZO_DECOMPRESS
130	depends on JFFS2_FS
131	default n
132	help
133	  minilzo-based compression. Generally works better than Zlib.
134
135	  This feature was added in July, 2007. Say 'N' if you need
136	  compatibility with older bootloaders or kernels.
137
138config JFFS2_RTIME
139	bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS
140	depends on JFFS2_FS
141	default y
142	help
143	  Rtime does manage to recompress already-compressed data. Say 'Y' if unsure.
144
145config JFFS2_RUBIN
146	bool "JFFS2 RUBIN compression support" if JFFS2_COMPRESSION_OPTIONS
147	depends on JFFS2_FS
148	default n
149	help
150	  RUBINMIPS and DYNRUBIN compressors. Say 'N' if unsure.
151
152choice
153	prompt "JFFS2 default compression mode" if JFFS2_COMPRESSION_OPTIONS
154	default JFFS2_CMODE_PRIORITY
155	depends on JFFS2_FS
156	help
157	  You can set here the default compression mode of JFFS2 from
158	  the available compression modes. Don't touch if unsure.
159
160config JFFS2_CMODE_NONE
161	bool "no compression"
162	help
163	  Uses no compression.
164
165config JFFS2_CMODE_PRIORITY
166	bool "priority"
167	help
168	  Tries the compressors in a predefined order and chooses the first
169	  successful one.
170
171config JFFS2_CMODE_SIZE
172	bool "size"
173	help
174	  Tries all compressors and chooses the one which has the smallest
175	  result.
176
177config JFFS2_CMODE_FAVOURLZO
178	bool "Favour LZO"
179	help
180	  Tries all compressors and chooses the one which has the smallest
181	  result but gives some preference to LZO (which has faster
182	  decompression) at the expense of size.
183
184endchoice
185