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