# SPDX-License-Identifier: GPL-2.0-only config JFFS2_FS tristate "Journalling Flash File System v2 (JFFS2) support" select CRC32 depends on MTD help JFFS2 is the second generation of the Journalling Flash File System for use on diskless embedded devices. It provides improved wear levelling, compression and support for hard links. You cannot use this on normal block devices, only on 'MTD' devices. Further information on the design and implementation of JFFS2 is available at . config JFFS2_FS_DEBUG int "JFFS2 debugging verbosity (0 = quiet, 2 = noisy)" depends on JFFS2_FS default "0" help This controls the amount of debugging messages produced by the JFFS2 code. Set it to zero for use in production systems. For evaluation, testing and debugging, it's advisable to set it to one. This will enable a few assertions and will print debugging messages at the KERN_DEBUG loglevel, where they won't normally be visible. Level 2 is unlikely to be useful - it enables extra debugging in certain areas which at one point needed debugging, but when the bugs were located and fixed, the detailed messages were relegated to level 2. If reporting bugs, please try to have available a full dump of the messages at debug level 1 while the misbehaviour was occurring. config JFFS2_FS_WRITEBUFFER bool "JFFS2 write-buffering support" depends on JFFS2_FS default y help This enables the write-buffering support in JFFS2. This functionality is required to support JFFS2 on the following types of flash devices: - NAND flash - NOR flash with transparent ECC - DataFlash config JFFS2_FS_WBUF_VERIFY bool "Verify JFFS2 write-buffer reads" depends on JFFS2_FS_WRITEBUFFER default n help This causes JFFS2 to read back every page written through the write-buffer, and check for errors. config JFFS2_SUMMARY bool "JFFS2 summary support" depends on JFFS2_FS default n help This feature makes it possible to use summary information for faster filesystem mount. The summary information can be inserted into a filesystem image by the utility 'sumtool'. If unsure, say 'N'. config JFFS2_FS_XATTR bool "JFFS2 XATTR support" depends on JFFS2_FS default n help Extended attributes are name:value pairs associated with inodes by the kernel or by users (see the attr(5) manual page for details). If unsure, say N. config JFFS2_FS_POSIX_ACL bool "JFFS2 POSIX Access Control Lists" depends on JFFS2_FS_XATTR default y select FS_POSIX_ACL help Posix Access Control Lists (ACLs) support permissions for users and groups beyond the owner/group/world scheme. If you don't know what Access Control Lists are, say N config JFFS2_FS_SECURITY bool "JFFS2 Security Labels" depends on JFFS2_FS_XATTR default y help Security labels support alternative access control models implemented by security modules like SELinux. This option enables an extended attribute handler for file security labels in the jffs2 filesystem. If you are not using a security module that requires using extended attributes for file security labels, say N. config JFFS2_COMPRESSION_OPTIONS bool "Advanced compression options for JFFS2" depends on JFFS2_FS default n help Enabling this option allows you to explicitly choose which compression modules, if any, are enabled in JFFS2. Removing compressors can mean you cannot read existing file systems, and enabling experimental compressors can mean that you write a file system which cannot be read by a standard kernel. If unsure, you should _definitely_ say 'N'. config JFFS2_ZLIB bool "JFFS2 ZLIB compression support" if JFFS2_COMPRESSION_OPTIONS select ZLIB_INFLATE select ZLIB_DEFLATE depends on JFFS2_FS default y help Zlib is designed to be a free, general-purpose, legally unencumbered, lossless data-compression library for use on virtually any computer hardware and operating system. See for further information. Say 'Y' if unsure. config JFFS2_LZO bool "JFFS2 LZO compression support" if JFFS2_COMPRESSION_OPTIONS select LZO_COMPRESS select LZO_DECOMPRESS depends on JFFS2_FS default n help minilzo-based compression. Generally works better than Zlib. This feature was added in July, 2007. Say 'N' if you need compatibility with older bootloaders or kernels. config JFFS2_LZMA bool "JFFS2 LZMA compression support" if JFFS2_COMPRESSION_OPTIONS select LZMA_COMPRESS select LZMA_DECOMPRESS depends on JFFS2_FS default n help JFFS2 wrapper to the LZMA C SDK config JFFS2_RTIME bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS depends on JFFS2_FS default y help Rtime does manage to recompress already-compressed data. Say 'Y' if unsure. config JFFS2_RUBIN bool "JFFS2 RUBIN compression support" if JFFS2_COMPRESSION_OPTIONS depends on JFFS2_FS default n help RUBINMIPS and DYNRUBIN compressors. Say 'N' if unsure. choice prompt "JFFS2 default compression mode" if JFFS2_COMPRESSION_OPTIONS default JFFS2_CMODE_PRIORITY depends on JFFS2_FS help You can set here the default compression mode of JFFS2 from the available compression modes. Don't touch if unsure. config JFFS2_CMODE_NONE bool "no compression" help Uses no compression. config JFFS2_CMODE_PRIORITY bool "priority" help Tries the compressors in a predefined order and chooses the first successful one. config JFFS2_CMODE_SIZE bool "size" help Tries all compressors and chooses the one which has the smallest result. config JFFS2_CMODE_FAVOURLZO bool "Favour LZO" help Tries all compressors and chooses the one which has the smallest result but gives some preference to LZO (which has faster decompression) at the expense of size. endchoice