xref: /linux/fs/ubifs/Kconfig (revision 58e16d792a6a8c6b750f637a4649967fcac853dc)
1# SPDX-License-Identifier: GPL-2.0-only
2config UBIFS_FS
3	tristate "UBIFS file system support"
4	select CRC16
5	select CRC32
6	select CRYPTO if UBIFS_FS_ADVANCED_COMPR
7	select CRYPTO if UBIFS_FS_LZO
8	select CRYPTO if UBIFS_FS_ZLIB
9	select CRYPTO if UBIFS_FS_ZSTD
10	select CRYPTO_LZO if UBIFS_FS_LZO
11	select CRYPTO_DEFLATE if UBIFS_FS_ZLIB
12	select CRYPTO_ZSTD if UBIFS_FS_ZSTD
13	select CRYPTO_HASH_INFO
14	select UBIFS_FS_XATTR if FS_ENCRYPTION
15	depends on MTD_UBI
16	help
17	  UBIFS is a file system for flash devices which works on top of UBI.
18
19if UBIFS_FS
20
21config UBIFS_FS_ADVANCED_COMPR
22	bool "Advanced compression options"
23	help
24	  This option allows to explicitly choose which compressions, if any,
25	  are enabled in UBIFS. Removing compressors means inability to read
26	  existing file systems.
27
28	  If unsure, say 'N'.
29
30config UBIFS_FS_LZO
31	bool "LZO compression support" if UBIFS_FS_ADVANCED_COMPR
32	default y
33	help
34	   LZO compressor is generally faster than zlib but compresses worse.
35	   Say 'Y' if unsure.
36
37config UBIFS_FS_ZLIB
38	bool "ZLIB compression support" if UBIFS_FS_ADVANCED_COMPR
39	default y
40	help
41	  Zlib compresses better than LZO but it is slower. Say 'Y' if unsure.
42
43config UBIFS_FS_ZSTD
44	bool "ZSTD compression support" if UBIFS_FS_ADVANCED_COMPR
45	depends on UBIFS_FS
46	default y
47	help
48	  ZSTD compresses is a big win in speed over Zlib and
49	  in compression ratio over LZO. Say 'Y' if unsure.
50
51config UBIFS_ATIME_SUPPORT
52	bool "Access time support"
53	default n
54	help
55	  Originally UBIFS did not support atime, because it looked like a bad idea due
56	  increased flash wear. This option adds atime support and it is disabled by default
57	  to preserve the old behavior. If you enable this option, UBIFS starts updating atime,
58	  which means that file-system read operations will cause writes (inode atime
59	  updates). This may affect file-system performance and increase flash device wear,
60	  so be careful. How often atime is updated depends on the selected strategy:
61	  strictatime is the "heavy", relatime is "lighter", etc.
62
63	  If unsure, say 'N'
64
65config UBIFS_FS_XATTR
66	bool "UBIFS XATTR support"
67	default y
68	help
69	  Saying Y here includes support for extended attributes (xattrs).
70	  Xattrs are name:value pairs associated with inodes by
71	  the kernel or by users (see the attr(5) manual page).
72
73	  If unsure, say Y.
74
75config UBIFS_FS_SECURITY
76	bool "UBIFS Security Labels"
77	depends on UBIFS_FS_XATTR
78	default y
79	help
80	  Security labels provide an access control facility to support Linux
81	  Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
82	  Linux. This option enables an extended attribute handler for file
83	  security labels in the ubifs filesystem, so that it requires enabling
84	  the extended attribute support in advance.
85
86	  If you are not using a security module, say N.
87
88config UBIFS_FS_AUTHENTICATION
89	bool "UBIFS authentication support"
90	select KEYS
91	select CRYPTO_HMAC
92	select SYSTEM_DATA_VERIFICATION
93	help
94	  Enable authentication support for UBIFS. This feature offers protection
95	  against offline changes for both data and metadata of the filesystem.
96	  If you say yes here you should also select a hashing algorithm such as
97	  sha256, these are not selected automatically since there are many
98	  different options.
99
100endif # UBIFS_FS
101