Merge tag 'staging-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
[sfrench/cifs-2.6.git] / 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"
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
65 config 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
75 config 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
86 config 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
99 config 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
112 config 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
126 config 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
138 config 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
145 config 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
152 choice
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
160 config JFFS2_CMODE_NONE
161         bool "no compression"
162         help
163           Uses no compression.
164
165 config JFFS2_CMODE_PRIORITY
166         bool "priority"
167         help
168           Tries the compressors in a predefined order and chooses the first
169           successful one.
170
171 config JFFS2_CMODE_SIZE
172         bool "size"
173         help
174           Tries all compressors and chooses the one which has the smallest
175           result.
176
177 config 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
184 endchoice