xref: /openbmc/linux/fs/f2fs/Kconfig (revision b8d312aa)
1# SPDX-License-Identifier: GPL-2.0-only
2config 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
21config 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
34config 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
44config 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
55config 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
67config 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
75config 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
85config 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.
92