xref: /kernel/linux/linux-5.10/fs/jffs2/Kconfig (revision 8c2ecf20)
18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ciconfig JFFS2_FS
38c2ecf20Sopenharmony_ci	tristate "Journalling Flash File System v2 (JFFS2) support"
48c2ecf20Sopenharmony_ci	select CRC32
58c2ecf20Sopenharmony_ci	depends on MTD
68c2ecf20Sopenharmony_ci	help
78c2ecf20Sopenharmony_ci	  JFFS2 is the second generation of the Journalling Flash File System
88c2ecf20Sopenharmony_ci	  for use on diskless embedded devices. It provides improved wear
98c2ecf20Sopenharmony_ci	  levelling, compression and support for hard links. You cannot use
108c2ecf20Sopenharmony_ci	  this on normal block devices, only on 'MTD' devices.
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci	  Further information on the design and implementation of JFFS2 is
138c2ecf20Sopenharmony_ci	  available at <http://sources.redhat.com/jffs2/>.
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciconfig JFFS2_FS_DEBUG
168c2ecf20Sopenharmony_ci	int "JFFS2 debugging verbosity (0 = quiet, 2 = noisy)"
178c2ecf20Sopenharmony_ci	depends on JFFS2_FS
188c2ecf20Sopenharmony_ci	default "0"
198c2ecf20Sopenharmony_ci	help
208c2ecf20Sopenharmony_ci	  This controls the amount of debugging messages produced by the JFFS2
218c2ecf20Sopenharmony_ci	  code. Set it to zero for use in production systems. For evaluation,
228c2ecf20Sopenharmony_ci	  testing and debugging, it's advisable to set it to one. This will
238c2ecf20Sopenharmony_ci	  enable a few assertions and will print debugging messages at the
248c2ecf20Sopenharmony_ci	  KERN_DEBUG loglevel, where they won't normally be visible. Level 2
258c2ecf20Sopenharmony_ci	  is unlikely to be useful - it enables extra debugging in certain
268c2ecf20Sopenharmony_ci	  areas which at one point needed debugging, but when the bugs were
278c2ecf20Sopenharmony_ci	  located and fixed, the detailed messages were relegated to level 2.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci	  If reporting bugs, please try to have available a full dump of the
308c2ecf20Sopenharmony_ci	  messages at debug level 1 while the misbehaviour was occurring.
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ciconfig JFFS2_FS_WRITEBUFFER
338c2ecf20Sopenharmony_ci	bool "JFFS2 write-buffering support"
348c2ecf20Sopenharmony_ci	depends on JFFS2_FS
358c2ecf20Sopenharmony_ci	default y
368c2ecf20Sopenharmony_ci	help
378c2ecf20Sopenharmony_ci	  This enables the write-buffering support in JFFS2.
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci	  This functionality is required to support JFFS2 on the following
408c2ecf20Sopenharmony_ci	  types of flash devices:
418c2ecf20Sopenharmony_ci	    - NAND flash
428c2ecf20Sopenharmony_ci	    - NOR flash with transparent ECC
438c2ecf20Sopenharmony_ci	    - DataFlash
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ciconfig JFFS2_FS_WBUF_VERIFY
468c2ecf20Sopenharmony_ci	bool "Verify JFFS2 write-buffer reads"
478c2ecf20Sopenharmony_ci	depends on JFFS2_FS_WRITEBUFFER
488c2ecf20Sopenharmony_ci	default n
498c2ecf20Sopenharmony_ci	help
508c2ecf20Sopenharmony_ci	  This causes JFFS2 to read back every page written through the
518c2ecf20Sopenharmony_ci	  write-buffer, and check for errors.
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ciconfig JFFS2_SUMMARY
548c2ecf20Sopenharmony_ci	bool "JFFS2 summary support"
558c2ecf20Sopenharmony_ci	depends on JFFS2_FS
568c2ecf20Sopenharmony_ci	default n
578c2ecf20Sopenharmony_ci	help
588c2ecf20Sopenharmony_ci	  This feature makes it possible to use summary information
598c2ecf20Sopenharmony_ci	  for faster filesystem mount.
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci	  The summary information can be inserted into a filesystem image
628c2ecf20Sopenharmony_ci	  by the utility 'sumtool'.
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci	  If unsure, say 'N'.
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ciconfig JFFS2_FS_XATTR
678c2ecf20Sopenharmony_ci	bool "JFFS2 XATTR support"
688c2ecf20Sopenharmony_ci	depends on JFFS2_FS
698c2ecf20Sopenharmony_ci	default n
708c2ecf20Sopenharmony_ci	help
718c2ecf20Sopenharmony_ci	  Extended attributes are name:value pairs associated with inodes by
728c2ecf20Sopenharmony_ci	  the kernel or by users (see the attr(5) manual page for details).
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci	  If unsure, say N.
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ciconfig JFFS2_FS_POSIX_ACL
778c2ecf20Sopenharmony_ci	bool "JFFS2 POSIX Access Control Lists"
788c2ecf20Sopenharmony_ci	depends on JFFS2_FS_XATTR
798c2ecf20Sopenharmony_ci	default y
808c2ecf20Sopenharmony_ci	select FS_POSIX_ACL
818c2ecf20Sopenharmony_ci	help
828c2ecf20Sopenharmony_ci	  Posix Access Control Lists (ACLs) support permissions for users and
838c2ecf20Sopenharmony_ci	  groups beyond the owner/group/world scheme.
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci	  If you don't know what Access Control Lists are, say N
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ciconfig JFFS2_FS_SECURITY
888c2ecf20Sopenharmony_ci	bool "JFFS2 Security Labels"
898c2ecf20Sopenharmony_ci	depends on JFFS2_FS_XATTR
908c2ecf20Sopenharmony_ci	default y
918c2ecf20Sopenharmony_ci	help
928c2ecf20Sopenharmony_ci	  Security labels support alternative access control models
938c2ecf20Sopenharmony_ci	  implemented by security modules like SELinux.  This option
948c2ecf20Sopenharmony_ci	  enables an extended attribute handler for file security
958c2ecf20Sopenharmony_ci	  labels in the jffs2 filesystem.
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci	  If you are not using a security module that requires using
988c2ecf20Sopenharmony_ci	  extended attributes for file security labels, say N.
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ciconfig JFFS2_COMPRESSION_OPTIONS
1018c2ecf20Sopenharmony_ci	bool "Advanced compression options for JFFS2"
1028c2ecf20Sopenharmony_ci	depends on JFFS2_FS
1038c2ecf20Sopenharmony_ci	default n
1048c2ecf20Sopenharmony_ci	help
1058c2ecf20Sopenharmony_ci	  Enabling this option allows you to explicitly choose which
1068c2ecf20Sopenharmony_ci	  compression modules, if any, are enabled in JFFS2. Removing
1078c2ecf20Sopenharmony_ci	  compressors can mean you cannot read existing file systems,
1088c2ecf20Sopenharmony_ci	  and enabling experimental compressors can mean that you
1098c2ecf20Sopenharmony_ci	  write a file system which cannot be read by a standard kernel.
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci	  If unsure, you should _definitely_ say 'N'.
1128c2ecf20Sopenharmony_ci
1138c2ecf20Sopenharmony_ciconfig JFFS2_ZLIB
1148c2ecf20Sopenharmony_ci	bool "JFFS2 ZLIB compression support" if JFFS2_COMPRESSION_OPTIONS
1158c2ecf20Sopenharmony_ci	select ZLIB_INFLATE
1168c2ecf20Sopenharmony_ci	select ZLIB_DEFLATE
1178c2ecf20Sopenharmony_ci	depends on JFFS2_FS
1188c2ecf20Sopenharmony_ci	default y
1198c2ecf20Sopenharmony_ci	help
1208c2ecf20Sopenharmony_ci	  Zlib is designed to be a free, general-purpose, legally unencumbered,
1218c2ecf20Sopenharmony_ci	  lossless data-compression library for use on virtually any computer
1228c2ecf20Sopenharmony_ci	  hardware and operating system. See <http://www.gzip.org/zlib/> for
1238c2ecf20Sopenharmony_ci	  further information.
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ci	  Say 'Y' if unsure.
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ciconfig JFFS2_LZO
1288c2ecf20Sopenharmony_ci	bool "JFFS2 LZO compression support" if JFFS2_COMPRESSION_OPTIONS
1298c2ecf20Sopenharmony_ci	select LZO_COMPRESS
1308c2ecf20Sopenharmony_ci	select LZO_DECOMPRESS
1318c2ecf20Sopenharmony_ci	depends on JFFS2_FS
1328c2ecf20Sopenharmony_ci	default n
1338c2ecf20Sopenharmony_ci	help
1348c2ecf20Sopenharmony_ci	  minilzo-based compression. Generally works better than Zlib.
1358c2ecf20Sopenharmony_ci
1368c2ecf20Sopenharmony_ci	  This feature was added in July, 2007. Say 'N' if you need
1378c2ecf20Sopenharmony_ci	  compatibility with older bootloaders or kernels.
1388c2ecf20Sopenharmony_ci
1398c2ecf20Sopenharmony_ciconfig JFFS2_RTIME
1408c2ecf20Sopenharmony_ci	bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS
1418c2ecf20Sopenharmony_ci	depends on JFFS2_FS
1428c2ecf20Sopenharmony_ci	default y
1438c2ecf20Sopenharmony_ci	help
1448c2ecf20Sopenharmony_ci	  Rtime does manage to recompress already-compressed data. Say 'Y' if unsure.
1458c2ecf20Sopenharmony_ci
1468c2ecf20Sopenharmony_ciconfig JFFS2_RUBIN
1478c2ecf20Sopenharmony_ci	bool "JFFS2 RUBIN compression support" if JFFS2_COMPRESSION_OPTIONS
1488c2ecf20Sopenharmony_ci	depends on JFFS2_FS
1498c2ecf20Sopenharmony_ci	default n
1508c2ecf20Sopenharmony_ci	help
1518c2ecf20Sopenharmony_ci	  RUBINMIPS and DYNRUBIN compressors. Say 'N' if unsure.
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_cichoice
1548c2ecf20Sopenharmony_ci	prompt "JFFS2 default compression mode" if JFFS2_COMPRESSION_OPTIONS
1558c2ecf20Sopenharmony_ci	default JFFS2_CMODE_PRIORITY
1568c2ecf20Sopenharmony_ci	depends on JFFS2_FS
1578c2ecf20Sopenharmony_ci	help
1588c2ecf20Sopenharmony_ci	  You can set here the default compression mode of JFFS2 from
1598c2ecf20Sopenharmony_ci	  the available compression modes. Don't touch if unsure.
1608c2ecf20Sopenharmony_ci
1618c2ecf20Sopenharmony_ciconfig JFFS2_CMODE_NONE
1628c2ecf20Sopenharmony_ci	bool "no compression"
1638c2ecf20Sopenharmony_ci	help
1648c2ecf20Sopenharmony_ci	  Uses no compression.
1658c2ecf20Sopenharmony_ci
1668c2ecf20Sopenharmony_ciconfig JFFS2_CMODE_PRIORITY
1678c2ecf20Sopenharmony_ci	bool "priority"
1688c2ecf20Sopenharmony_ci	help
1698c2ecf20Sopenharmony_ci	  Tries the compressors in a predefined order and chooses the first
1708c2ecf20Sopenharmony_ci	  successful one.
1718c2ecf20Sopenharmony_ci
1728c2ecf20Sopenharmony_ciconfig JFFS2_CMODE_SIZE
1738c2ecf20Sopenharmony_ci	bool "size"
1748c2ecf20Sopenharmony_ci	help
1758c2ecf20Sopenharmony_ci	  Tries all compressors and chooses the one which has the smallest
1768c2ecf20Sopenharmony_ci	  result.
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ciconfig JFFS2_CMODE_FAVOURLZO
1798c2ecf20Sopenharmony_ci	bool "Favour LZO"
1808c2ecf20Sopenharmony_ci	help
1818c2ecf20Sopenharmony_ci	  Tries all compressors and chooses the one which has the smallest
1828c2ecf20Sopenharmony_ci	  result but gives some preference to LZO (which has faster
1838c2ecf20Sopenharmony_ci	  decompression) at the expense of size.
1848c2ecf20Sopenharmony_ci
1858c2ecf20Sopenharmony_ciendchoice
186