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 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.
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.
24 bool "F2FS Status Information"
28 /sys/kernel/debug/f2fs/ contains information about all the partitions
29 mounted as f2fs. Each file shows the whole f2fs information.
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.
37 bool "F2FS extended attributes"
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).
46 config F2FS_FS_POSIX_ACL
47 bool "F2FS Access Control Lists"
48 depends on F2FS_FS_XATTR
52 Posix Access Control Lists (ACLs) support permissions for users and
53 groups beyond the owner/group/world scheme.
55 If you don't know what Access Control Lists are, say N
57 config F2FS_FS_SECURITY
58 bool "F2FS Security Labels"
59 depends on F2FS_FS_XATTR
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).
69 If you are not using a security module, say N.
72 bool "F2FS consistency checking feature"
75 Enables BUG_ONs which check the filesystem consistency in runtime.
77 If you want to improve the performance, say N.
82 depends on FUNCTION_TRACER
84 F2FS IO trace is based on a function trace, which gathers process
85 information and block IO patterns in the filesystem level.
89 config F2FS_FAULT_INJECTION
90 bool "F2FS fault injection facility"
93 Test F2FS to inject faults such as ENOMEM, ENOSPC, and so on.
97 config F2FS_FS_COMPRESSION
98 bool "F2FS compression feature"
101 Enable filesystem-level compression on f2fs regular files,
102 multiple back-end compression algorithms are supported.
105 bool "LZO compression support"
106 depends on F2FS_FS_COMPRESSION
108 select LZO_DECOMPRESS
111 Support LZO compress algorithm, if unsure, say Y.
114 bool "LZ4 compression support"
115 depends on F2FS_FS_COMPRESSION
117 select LZ4_DECOMPRESS
120 Support LZ4 compress algorithm, if unsure, say Y.
123 bool "ZSTD compression support"
124 depends on F2FS_FS_COMPRESSION
126 select ZSTD_DECOMPRESS
129 Support ZSTD compress algorithm, if unsure, say Y.
131 config F2FS_FS_LZORLE
132 bool "LZO-RLE compression support"
133 depends on F2FS_FS_COMPRESSION
134 depends on F2FS_FS_LZO
136 select LZO_DECOMPRESS
139 Support LZO-RLE compress algorithm, if unsure, say Y.