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