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