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