xref: /openbmc/linux/fs/f2fs/Kconfig (revision 31e67366)
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	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
23config 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
36config 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
46config 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
57config 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
71config 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
79config F2FS_FAULT_INJECTION
80	bool "F2FS fault injection facility"
81	depends on F2FS_FS
82	help
83	  Test F2FS to inject faults such as ENOMEM, ENOSPC, and so on.
84
85	  If unsure, say N.
86
87config F2FS_FS_COMPRESSION
88	bool "F2FS compression feature"
89	depends on F2FS_FS
90	help
91	  Enable filesystem-level compression on f2fs regular files,
92	  multiple back-end compression algorithms are supported.
93
94config F2FS_FS_LZO
95	bool "LZO compression support"
96	depends on F2FS_FS_COMPRESSION
97	select LZO_COMPRESS
98	select LZO_DECOMPRESS
99	default y
100	help
101	  Support LZO compress algorithm, if unsure, say Y.
102
103config F2FS_FS_LZ4
104	bool "LZ4 compression support"
105	depends on F2FS_FS_COMPRESSION
106	select LZ4_COMPRESS
107	select LZ4_DECOMPRESS
108	default y
109	help
110	  Support LZ4 compress algorithm, if unsure, say Y.
111
112config F2FS_FS_LZ4HC
113	bool "LZ4HC compression support"
114	depends on F2FS_FS_COMPRESSION
115	depends on F2FS_FS_LZ4
116	select LZ4HC_COMPRESS
117	default y
118	help
119	  Support LZ4HC compress algorithm, LZ4HC has compatible on-disk
120	  layout with LZ4, if unsure, say Y.
121
122config 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
131config 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.
140