Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-block.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 CRYPTO
6         select CRYPTO_CRC32
7         select F2FS_FS_XATTR if FS_ENCRYPTION
8         help
9           F2FS is based on Log-structured File System (LFS), which supports
10           versatile "flash-friendly" features. The design has been focused on
11           addressing the fundamental issues in LFS, which are snowball effect
12           of wandering tree and high cleaning overhead.
13
14           Since flash-based storages show different characteristics according to
15           the internal geometry or flash memory management schemes aka FTL, F2FS
16           and tools support various parameters not only for configuring on-disk
17           layout, but also for selecting allocation and cleaning algorithms.
18
19           If unsure, say N.
20
21 config F2FS_STAT_FS
22         bool "F2FS Status Information"
23         depends on F2FS_FS && DEBUG_FS
24         default y
25         help
26           /sys/kernel/debug/f2fs/ contains information about all the partitions
27           mounted as f2fs. Each file shows the whole f2fs information.
28
29           /sys/kernel/debug/f2fs/status includes:
30             - major filesystem information managed by f2fs currently
31             - average SIT information about whole segments
32             - current memory footprint consumed by f2fs.
33
34 config F2FS_FS_XATTR
35         bool "F2FS extended attributes"
36         depends on F2FS_FS
37         default y
38         help
39           Extended attributes are name:value pairs associated with inodes by
40           the kernel or by users (see the attr(5) manual page for details).
41
42           If unsure, say N.
43
44 config F2FS_FS_POSIX_ACL
45         bool "F2FS Access Control Lists"
46         depends on F2FS_FS_XATTR
47         select FS_POSIX_ACL
48         default y
49         help
50           Posix Access Control Lists (ACLs) support permissions for users and
51           groups beyond the owner/group/world scheme.
52
53           If you don't know what Access Control Lists are, say N
54
55 config F2FS_FS_SECURITY
56         bool "F2FS Security Labels"
57         depends on F2FS_FS_XATTR
58         help
59           Security labels provide an access control facility to support Linux
60           Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
61           Linux. This option enables an extended attribute handler for file
62           security labels in the f2fs filesystem, so that it requires enabling
63           the extended attribute support in advance.
64
65           If you are not using a security module, say N.
66
67 config F2FS_CHECK_FS
68         bool "F2FS consistency checking feature"
69         depends on F2FS_FS
70         help
71           Enables BUG_ONs which check the filesystem consistency in runtime.
72
73           If you want to improve the performance, say N.
74
75 config F2FS_IO_TRACE
76         bool "F2FS IO tracer"
77         depends on F2FS_FS
78         depends on FUNCTION_TRACER
79         help
80           F2FS IO trace is based on a function trace, which gathers process
81           information and block IO patterns in the filesystem level.
82
83           If unsure, say N.
84
85 config F2FS_FAULT_INJECTION
86         bool "F2FS fault injection facility"
87         depends on F2FS_FS
88         help
89           Test F2FS to inject faults such as ENOMEM, ENOSPC, and so on.
90
91           If unsure, say N.