Merge tag 'media/v5.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
[linux-2.6-microblaze.git] / fs / f2fs / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 config F2FS_FS
3         tristate "F2FS filesystem support"
4         depends on BLOCK
5         select NLS
6         select CRYPTO
7         select CRYPTO_CRC32
8         select F2FS_FS_XATTR if FS_ENCRYPTION
9         select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
10         help
11           F2FS is based on Log-structured File System (LFS), which supports
12           versatile "flash-friendly" features. The design has been focused on
13           addressing the fundamental issues in LFS, which are snowball effect
14           of wandering tree and high cleaning overhead.
15
16           Since flash-based storages show different characteristics according to
17           the internal geometry or flash memory management schemes aka FTL, F2FS
18           and tools support various parameters not only for configuring on-disk
19           layout, but also for selecting allocation and cleaning algorithms.
20
21           If unsure, say N.
22
23 config F2FS_STAT_FS
24         bool "F2FS Status Information"
25         depends on F2FS_FS
26         default y
27         help
28           /sys/kernel/debug/f2fs/ contains information about all the partitions
29           mounted as f2fs. Each file shows the whole f2fs information.
30
31           /sys/kernel/debug/f2fs/status includes:
32             - major filesystem information managed by f2fs currently
33             - average SIT information about whole segments
34             - current memory footprint consumed by f2fs.
35
36 config F2FS_FS_XATTR
37         bool "F2FS extended attributes"
38         depends on F2FS_FS
39         default y
40         help
41           Extended attributes are name:value pairs associated with inodes by
42           the kernel or by users (see the attr(5) manual page for details).
43
44           If unsure, say N.
45
46 config F2FS_FS_POSIX_ACL
47         bool "F2FS Access Control Lists"
48         depends on F2FS_FS_XATTR
49         select FS_POSIX_ACL
50         default y
51         help
52           Posix Access Control Lists (ACLs) support permissions for users and
53           groups beyond the owner/group/world scheme.
54
55           If you don't know what Access Control Lists are, say N
56
57 config F2FS_FS_SECURITY
58         bool "F2FS Security Labels"
59         depends on F2FS_FS_XATTR
60         help
61           Security labels provide an access control facility to support Linux
62           Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
63           Linux. This option enables an extended attribute handler for file
64           security labels in the f2fs filesystem, so that it requires enabling
65           the extended attribute support in advance. In particular you need this
66           option if you use the setcap command to assign initial process capabi-
67           lities to executables (the security.* extended attributes).
68
69           If you are not using a security module, say N.
70
71 config F2FS_CHECK_FS
72         bool "F2FS consistency checking feature"
73         depends on F2FS_FS
74         help
75           Enables BUG_ONs which check the filesystem consistency in runtime.
76
77           If you want to improve the performance, say N.
78
79 config F2FS_IO_TRACE
80         bool "F2FS IO tracer"
81         depends on F2FS_FS
82         depends on FUNCTION_TRACER
83         help
84           F2FS IO trace is based on a function trace, which gathers process
85           information and block IO patterns in the filesystem level.
86
87           If unsure, say N.
88
89 config F2FS_FAULT_INJECTION
90         bool "F2FS fault injection facility"
91         depends on F2FS_FS
92         help
93           Test F2FS to inject faults such as ENOMEM, ENOSPC, and so on.
94
95           If unsure, say N.
96
97 config F2FS_FS_COMPRESSION
98         bool "F2FS compression feature"
99         depends on F2FS_FS
100         help
101           Enable filesystem-level compression on f2fs regular files,
102           multiple back-end compression algorithms are supported.
103
104 config F2FS_FS_LZO
105         bool "LZO compression support"
106         depends on F2FS_FS_COMPRESSION
107         select LZO_COMPRESS
108         select LZO_DECOMPRESS
109         default y
110         help
111           Support LZO compress algorithm, if unsure, say Y.
112
113 config F2FS_FS_LZ4
114         bool "LZ4 compression support"
115         depends on F2FS_FS_COMPRESSION
116         select LZ4_COMPRESS
117         select LZ4_DECOMPRESS
118         default y
119         help
120           Support LZ4 compress algorithm, if unsure, say Y.
121
122 config F2FS_FS_ZSTD
123         bool "ZSTD compression support"
124         depends on F2FS_FS_COMPRESSION
125         select ZSTD_COMPRESS
126         select ZSTD_DECOMPRESS
127         default y
128         help
129           Support ZSTD compress algorithm, if unsure, say Y.
130
131 config F2FS_FS_LZORLE
132         bool "LZO-RLE compression support"
133         depends on F2FS_FS_COMPRESSION
134         depends on F2FS_FS_LZO
135         select LZO_COMPRESS
136         select LZO_DECOMPRESS
137         default y
138         help
139           Support LZO-RLE compress algorithm, if unsure, say Y.