xref: /linux/fs/ubifs/Kconfig (revision 8dd06ef34b6e2f41b29fbf5fc1663780f2524285)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
20d7eff87SArtem Bityutskiyconfig UBIFS_FS
30d7eff87SArtem Bityutskiy	tristate "UBIFS file system support"
40d7eff87SArtem Bityutskiy	select CRC16
50d7eff87SArtem Bityutskiy	select CRC32
60d7eff87SArtem Bityutskiy	select CRYPTO if UBIFS_FS_ADVANCED_COMPR
70d7eff87SArtem Bityutskiy	select CRYPTO if UBIFS_FS_LZO
80d7eff87SArtem Bityutskiy	select CRYPTO if UBIFS_FS_ZLIB
9eeabb986SMichele Dionisio	select CRYPTO if UBIFS_FS_ZSTD
100d7eff87SArtem Bityutskiy	select CRYPTO_LZO if UBIFS_FS_LZO
110d7eff87SArtem Bityutskiy	select CRYPTO_DEFLATE if UBIFS_FS_ZLIB
12eeabb986SMichele Dionisio	select CRYPTO_ZSTD if UBIFS_FS_ZSTD
1349525e5eSSascha Hauer	select CRYPTO_HASH_INFO
14643fa961SChandan Rajendra	select UBIFS_FS_XATTR if FS_ENCRYPTION
15*ede7a09fSHerbert Xu	select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
160d7eff87SArtem Bityutskiy	depends on MTD_UBI
170d7eff87SArtem Bityutskiy	help
180d7eff87SArtem Bityutskiy	  UBIFS is a file system for flash devices which works on top of UBI.
190d7eff87SArtem Bityutskiy
20aa3d31e0SGeert Uytterhoevenif UBIFS_FS
21aa3d31e0SGeert Uytterhoeven
220d7eff87SArtem Bityutskiyconfig UBIFS_FS_ADVANCED_COMPR
230d7eff87SArtem Bityutskiy	bool "Advanced compression options"
240d7eff87SArtem Bityutskiy	help
250d7eff87SArtem Bityutskiy	  This option allows to explicitly choose which compressions, if any,
26692105b8SMatt LaPlante	  are enabled in UBIFS. Removing compressors means inability to read
270d7eff87SArtem Bityutskiy	  existing file systems.
280d7eff87SArtem Bityutskiy
290d7eff87SArtem Bityutskiy	  If unsure, say 'N'.
300d7eff87SArtem Bityutskiy
310d7eff87SArtem Bityutskiyconfig UBIFS_FS_LZO
320d7eff87SArtem Bityutskiy	bool "LZO compression support" if UBIFS_FS_ADVANCED_COMPR
330d7eff87SArtem Bityutskiy	default y
340d7eff87SArtem Bityutskiy	help
35692105b8SMatt LaPlante	   LZO compressor is generally faster than zlib but compresses worse.
360d7eff87SArtem Bityutskiy	   Say 'Y' if unsure.
370d7eff87SArtem Bityutskiy
380d7eff87SArtem Bityutskiyconfig UBIFS_FS_ZLIB
390d7eff87SArtem Bityutskiy	bool "ZLIB compression support" if UBIFS_FS_ADVANCED_COMPR
400d7eff87SArtem Bityutskiy	default y
410d7eff87SArtem Bityutskiy	help
42025dfdafSFrederik Schwarzer	  Zlib compresses better than LZO but it is slower. Say 'Y' if unsure.
438c1c5f26SDongsheng Yang
44eeabb986SMichele Dionisioconfig UBIFS_FS_ZSTD
45eeabb986SMichele Dionisio	bool "ZSTD compression support" if UBIFS_FS_ADVANCED_COMPR
46eeabb986SMichele Dionisio	depends on UBIFS_FS
47eeabb986SMichele Dionisio	default y
48eeabb986SMichele Dionisio	help
49eeabb986SMichele Dionisio	  ZSTD compresses is a big win in speed over Zlib and
50eeabb986SMichele Dionisio	  in compression ratio over LZO. Say 'Y' if unsure.
51eeabb986SMichele Dionisio
528c1c5f26SDongsheng Yangconfig UBIFS_ATIME_SUPPORT
53aa3d31e0SGeert Uytterhoeven	bool "Access time support"
548c1c5f26SDongsheng Yang	default n
558c1c5f26SDongsheng Yang	help
568c1c5f26SDongsheng Yang	  Originally UBIFS did not support atime, because it looked like a bad idea due
578c1c5f26SDongsheng Yang	  increased flash wear. This option adds atime support and it is disabled by default
588c1c5f26SDongsheng Yang	  to preserve the old behavior. If you enable this option, UBIFS starts updating atime,
598c1c5f26SDongsheng Yang	  which means that file-system read operations will cause writes (inode atime
608c1c5f26SDongsheng Yang	  updates). This may affect file-system performance and increase flash device wear,
618c1c5f26SDongsheng Yang	  so be careful. How often atime is updated depends on the selected strategy:
628c1c5f26SDongsheng Yang	  strictatime is the "heavy", relatime is "lighter", etc.
638c1c5f26SDongsheng Yang
648c1c5f26SDongsheng Yang	  If unsure, say 'N'
65d475a507SRichard Weinberger
667e5471ceSStefan Agnerconfig UBIFS_FS_XATTR
677e5471ceSStefan Agner	bool "UBIFS XATTR support"
687e5471ceSStefan Agner	default y
697e5471ceSStefan Agner	help
707e5471ceSStefan Agner	  Saying Y here includes support for extended attributes (xattrs).
717e5471ceSStefan Agner	  Xattrs are name:value pairs associated with inodes by
727e5471ceSStefan Agner	  the kernel or by users (see the attr(5) manual page).
737e5471ceSStefan Agner
747e5471ceSStefan Agner	  If unsure, say Y.
757e5471ceSStefan Agner
768326c1eeSHyunchul Leeconfig UBIFS_FS_SECURITY
778326c1eeSHyunchul Lee	bool "UBIFS Security Labels"
78aa3d31e0SGeert Uytterhoeven	depends on UBIFS_FS_XATTR
798326c1eeSHyunchul Lee	default y
808326c1eeSHyunchul Lee	help
818326c1eeSHyunchul Lee	  Security labels provide an access control facility to support Linux
828326c1eeSHyunchul Lee	  Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
838326c1eeSHyunchul Lee	  Linux. This option enables an extended attribute handler for file
848326c1eeSHyunchul Lee	  security labels in the ubifs filesystem, so that it requires enabling
858326c1eeSHyunchul Lee	  the extended attribute support in advance.
868326c1eeSHyunchul Lee
878326c1eeSHyunchul Lee	  If you are not using a security module, say N.
88d8a22773SSascha Hauer
89d8a22773SSascha Hauerconfig UBIFS_FS_AUTHENTICATION
90d8a22773SSascha Hauer	bool "UBIFS authentication support"
91817aa094SSascha Hauer	select KEYS
92d8a22773SSascha Hauer	select CRYPTO_HMAC
93817aa094SSascha Hauer	select SYSTEM_DATA_VERIFICATION
94d8a22773SSascha Hauer	help
95d8a22773SSascha Hauer	  Enable authentication support for UBIFS. This feature offers protection
96d8a22773SSascha Hauer	  against offline changes for both data and metadata of the filesystem.
97d8a22773SSascha Hauer	  If you say yes here you should also select a hashing algorithm such as
98d8a22773SSascha Hauer	  sha256, these are not selected automatically since there are many
99d8a22773SSascha Hauer	  different options.
100aa3d31e0SGeert Uytterhoeven
101aa3d31e0SGeert Uytterhoevenendif # UBIFS_FS
102