xref: /kernel/linux/linux-5.10/fs/ubifs/Kconfig (revision 8c2ecf20)
18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ciconfig UBIFS_FS
38c2ecf20Sopenharmony_ci	tristate "UBIFS file system support"
48c2ecf20Sopenharmony_ci	select CRC16
58c2ecf20Sopenharmony_ci	select CRC32
68c2ecf20Sopenharmony_ci	select CRYPTO if UBIFS_FS_ADVANCED_COMPR
78c2ecf20Sopenharmony_ci	select CRYPTO if UBIFS_FS_LZO
88c2ecf20Sopenharmony_ci	select CRYPTO if UBIFS_FS_ZLIB
98c2ecf20Sopenharmony_ci	select CRYPTO if UBIFS_FS_ZSTD
108c2ecf20Sopenharmony_ci	select CRYPTO_LZO if UBIFS_FS_LZO
118c2ecf20Sopenharmony_ci	select CRYPTO_DEFLATE if UBIFS_FS_ZLIB
128c2ecf20Sopenharmony_ci	select CRYPTO_ZSTD if UBIFS_FS_ZSTD
138c2ecf20Sopenharmony_ci	select CRYPTO_HASH_INFO
148c2ecf20Sopenharmony_ci	select UBIFS_FS_XATTR if FS_ENCRYPTION
158c2ecf20Sopenharmony_ci	select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
168c2ecf20Sopenharmony_ci	depends on MTD_UBI
178c2ecf20Sopenharmony_ci	help
188c2ecf20Sopenharmony_ci	  UBIFS is a file system for flash devices which works on top of UBI.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciif UBIFS_FS
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciconfig UBIFS_FS_ADVANCED_COMPR
238c2ecf20Sopenharmony_ci	bool "Advanced compression options"
248c2ecf20Sopenharmony_ci	help
258c2ecf20Sopenharmony_ci	  This option allows to explicitly choose which compressions, if any,
268c2ecf20Sopenharmony_ci	  are enabled in UBIFS. Removing compressors means inability to read
278c2ecf20Sopenharmony_ci	  existing file systems.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci	  If unsure, say 'N'.
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ciconfig UBIFS_FS_LZO
328c2ecf20Sopenharmony_ci	bool "LZO compression support" if UBIFS_FS_ADVANCED_COMPR
338c2ecf20Sopenharmony_ci	default y
348c2ecf20Sopenharmony_ci	help
358c2ecf20Sopenharmony_ci	   LZO compressor is generally faster than zlib but compresses worse.
368c2ecf20Sopenharmony_ci	   Say 'Y' if unsure.
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ciconfig UBIFS_FS_ZLIB
398c2ecf20Sopenharmony_ci	bool "ZLIB compression support" if UBIFS_FS_ADVANCED_COMPR
408c2ecf20Sopenharmony_ci	default y
418c2ecf20Sopenharmony_ci	help
428c2ecf20Sopenharmony_ci	  Zlib compresses better than LZO but it is slower. Say 'Y' if unsure.
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ciconfig UBIFS_FS_ZSTD
458c2ecf20Sopenharmony_ci	bool "ZSTD compression support" if UBIFS_FS_ADVANCED_COMPR
468c2ecf20Sopenharmony_ci	depends on UBIFS_FS
478c2ecf20Sopenharmony_ci	default y
488c2ecf20Sopenharmony_ci	help
498c2ecf20Sopenharmony_ci	  ZSTD compresses is a big win in speed over Zlib and
508c2ecf20Sopenharmony_ci	  in compression ratio over LZO. Say 'Y' if unsure.
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ciconfig UBIFS_ATIME_SUPPORT
538c2ecf20Sopenharmony_ci	bool "Access time support"
548c2ecf20Sopenharmony_ci	default n
558c2ecf20Sopenharmony_ci	help
568c2ecf20Sopenharmony_ci	  Originally UBIFS did not support atime, because it looked like a bad idea due
578c2ecf20Sopenharmony_ci	  increased flash wear. This option adds atime support and it is disabled by default
588c2ecf20Sopenharmony_ci	  to preserve the old behavior. If you enable this option, UBIFS starts updating atime,
598c2ecf20Sopenharmony_ci	  which means that file-system read operations will cause writes (inode atime
608c2ecf20Sopenharmony_ci	  updates). This may affect file-system performance and increase flash device wear,
618c2ecf20Sopenharmony_ci	  so be careful. How often atime is updated depends on the selected strategy:
628c2ecf20Sopenharmony_ci	  strictatime is the "heavy", relatime is "lighter", etc.
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci	  If unsure, say 'N'
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ciconfig UBIFS_FS_XATTR
678c2ecf20Sopenharmony_ci	bool "UBIFS XATTR support"
688c2ecf20Sopenharmony_ci	default y
698c2ecf20Sopenharmony_ci	help
708c2ecf20Sopenharmony_ci	  Saying Y here includes support for extended attributes (xattrs).
718c2ecf20Sopenharmony_ci	  Xattrs are name:value pairs associated with inodes by
728c2ecf20Sopenharmony_ci	  the kernel or by users (see the attr(5) manual page).
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci	  If unsure, say Y.
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ciconfig UBIFS_FS_SECURITY
778c2ecf20Sopenharmony_ci	bool "UBIFS Security Labels"
788c2ecf20Sopenharmony_ci	depends on UBIFS_FS_XATTR
798c2ecf20Sopenharmony_ci	default y
808c2ecf20Sopenharmony_ci	help
818c2ecf20Sopenharmony_ci	  Security labels provide an access control facility to support Linux
828c2ecf20Sopenharmony_ci	  Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
838c2ecf20Sopenharmony_ci	  Linux. This option enables an extended attribute handler for file
848c2ecf20Sopenharmony_ci	  security labels in the ubifs filesystem, so that it requires enabling
858c2ecf20Sopenharmony_ci	  the extended attribute support in advance.
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci	  If you are not using a security module, say N.
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ciconfig UBIFS_FS_AUTHENTICATION
908c2ecf20Sopenharmony_ci	bool "UBIFS authentication support"
918c2ecf20Sopenharmony_ci	select KEYS
928c2ecf20Sopenharmony_ci	select CRYPTO_HMAC
938c2ecf20Sopenharmony_ci	select SYSTEM_DATA_VERIFICATION
948c2ecf20Sopenharmony_ci	help
958c2ecf20Sopenharmony_ci	  Enable authentication support for UBIFS. This feature offers protection
968c2ecf20Sopenharmony_ci	  against offline changes for both data and metadata of the filesystem.
978c2ecf20Sopenharmony_ci	  If you say yes here you should also select a hashing algorithm such as
988c2ecf20Sopenharmony_ci	  sha256, these are not selected automatically since there are many
998c2ecf20Sopenharmony_ci	  different options.
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ciendif # UBIFS_FS
102