xref: /openbmc/linux/fs/jffs2/Kconfig (revision cf98c5e5)
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, or visit
72	  <http://acl.bestbits.at/> for details).
73
74	  If unsure, say N.
75
76config 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
90config 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
103config 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
116config 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
130config 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
142config 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
149config 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
156choice
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
164config JFFS2_CMODE_NONE
165	bool "no compression"
166	help
167	  Uses no compression.
168
169config JFFS2_CMODE_PRIORITY
170	bool "priority"
171	help
172	  Tries the compressors in a predefined order and chooses the first
173	  successful one.
174
175config JFFS2_CMODE_SIZE
176	bool "size"
177	help
178	  Tries all compressors and chooses the one which has the smallest
179	  result.
180
181config 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
188endchoice
189