1 # SPDX-License-Identifier: GPL-2.0-only
3 tristate "F2FS filesystem support"
8 select F2FS_FS_XATTR if FS_ENCRYPTION
9 select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
11 select LZ4_COMPRESS if F2FS_FS_LZ4
12 select LZ4_DECOMPRESS if F2FS_FS_LZ4
13 select LZ4HC_COMPRESS if F2FS_FS_LZ4HC
14 select LZO_COMPRESS if F2FS_FS_LZO
15 select LZO_DECOMPRESS if F2FS_FS_LZO
16 select ZSTD_COMPRESS if F2FS_FS_ZSTD
17 select ZSTD_DECOMPRESS if F2FS_FS_ZSTD
19 F2FS is based on Log-structured File System (LFS), which supports
20 versatile "flash-friendly" features. The design has been focused on
21 addressing the fundamental issues in LFS, which are snowball effect
22 of wandering tree and high cleaning overhead.
24 Since flash-based storages show different characteristics according to
25 the internal geometry or flash memory management schemes aka FTL, F2FS
26 and tools support various parameters not only for configuring on-disk
27 layout, but also for selecting allocation and cleaning algorithms.
32 bool "F2FS Status Information"
36 /sys/kernel/debug/f2fs/ contains information about all the partitions
37 mounted as f2fs. Each file shows the whole f2fs information.
39 /sys/kernel/debug/f2fs/status includes:
40 - major filesystem information managed by f2fs currently
41 - average SIT information about whole segments
42 - current memory footprint consumed by f2fs.
45 bool "F2FS extended attributes"
49 Extended attributes are name:value pairs associated with inodes by
50 the kernel or by users (see the attr(5) manual page for details).
54 config F2FS_FS_POSIX_ACL
55 bool "F2FS Access Control Lists"
56 depends on F2FS_FS_XATTR
60 Posix Access Control Lists (ACLs) support permissions for users and
61 groups beyond the owner/group/world scheme.
63 If you don't know what Access Control Lists are, say N
65 config F2FS_FS_SECURITY
66 bool "F2FS Security Labels"
67 depends on F2FS_FS_XATTR
69 Security labels provide an access control facility to support Linux
70 Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
71 Linux. This option enables an extended attribute handler for file
72 security labels in the f2fs filesystem, so that it requires enabling
73 the extended attribute support in advance. In particular you need this
74 option if you use the setcap command to assign initial process capabi-
75 lities to executables (the security.* extended attributes).
77 If you are not using a security module, say N.
80 bool "F2FS consistency checking feature"
83 Enables BUG_ONs which check the filesystem consistency in runtime.
85 If you want to improve the performance, say N.
87 config F2FS_FAULT_INJECTION
88 bool "F2FS fault injection facility"
91 Test F2FS to inject faults such as ENOMEM, ENOSPC, and so on.
95 config F2FS_FS_COMPRESSION
96 bool "F2FS compression feature"
99 Enable filesystem-level compression on f2fs regular files,
100 multiple back-end compression algorithms are supported.
103 bool "LZO compression support"
104 depends on F2FS_FS_COMPRESSION
107 Support LZO compress algorithm, if unsure, say Y.
109 config F2FS_FS_LZORLE
110 bool "LZO-RLE compression support"
111 depends on F2FS_FS_LZO
114 Support LZO-RLE compress algorithm, if unsure, say Y.
117 bool "LZ4 compression support"
118 depends on F2FS_FS_COMPRESSION
121 Support LZ4 compress algorithm, if unsure, say Y.
124 bool "LZ4HC compression support"
125 depends on F2FS_FS_LZ4
128 Support LZ4HC compress algorithm, LZ4HC has compatible on-disk
129 layout with LZ4, if unsure, say Y.
132 bool "ZSTD compression support"
133 depends on F2FS_FS_COMPRESSION
136 Support ZSTD compress algorithm, if unsure, say Y.
139 bool "F2FS IO statistics information"
143 Support getting IO statistics through sysfs and printing out periodic
144 IO statistics tracepoint events. You have to turn on "iostat_enable"
145 sysfs node to enable this feature.
147 config F2FS_UNFAIR_RWSEM
148 bool "F2FS unfair rw_semaphore"
149 depends on F2FS_FS && BLK_CGROUP
151 Use unfair rw_semaphore, if system configured IO priority by block