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