xref: /openbmc/linux/fs/f2fs/Kconfig (revision 3fde13f8)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2a14d5393SJaegeuk Kimconfig F2FS_FS
3d7196c5aSJaegeuk Kim	tristate "F2FS filesystem support"
4573ea5fcSJaegeuk Kim	depends on BLOCK
5aabc172bSYueHaibing	select NLS
643b6573bSKeith Mok	select CRYPTO
743b6573bSKeith Mok	select CRYPTO_CRC32
8643fa961SChandan Rajendra	select F2FS_FS_XATTR if FS_ENCRYPTION
9ede7a09fSHerbert Xu	select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
10a14d5393SJaegeuk Kim	help
11a14d5393SJaegeuk Kim	  F2FS is based on Log-structured File System (LFS), which supports
12a14d5393SJaegeuk Kim	  versatile "flash-friendly" features. The design has been focused on
13a14d5393SJaegeuk Kim	  addressing the fundamental issues in LFS, which are snowball effect
14a14d5393SJaegeuk Kim	  of wandering tree and high cleaning overhead.
15a14d5393SJaegeuk Kim
16a14d5393SJaegeuk Kim	  Since flash-based storages show different characteristics according to
17a14d5393SJaegeuk Kim	  the internal geometry or flash memory management schemes aka FTL, F2FS
18a14d5393SJaegeuk Kim	  and tools support various parameters not only for configuring on-disk
19a14d5393SJaegeuk Kim	  layout, but also for selecting allocation and cleaning algorithms.
20a14d5393SJaegeuk Kim
21a14d5393SJaegeuk Kim	  If unsure, say N.
22a14d5393SJaegeuk Kim
23a14d5393SJaegeuk Kimconfig F2FS_STAT_FS
24a14d5393SJaegeuk Kim	bool "F2FS Status Information"
25fc7100eaSHridya Valsaraju	depends on F2FS_FS
26a14d5393SJaegeuk Kim	default y
27a14d5393SJaegeuk Kim	help
28a14d5393SJaegeuk Kim	  /sys/kernel/debug/f2fs/ contains information about all the partitions
29a14d5393SJaegeuk Kim	  mounted as f2fs. Each file shows the whole f2fs information.
30a14d5393SJaegeuk Kim
31a14d5393SJaegeuk Kim	  /sys/kernel/debug/f2fs/status includes:
32a14d5393SJaegeuk Kim	    - major filesystem information managed by f2fs currently
33a14d5393SJaegeuk Kim	    - average SIT information about whole segments
34a14d5393SJaegeuk Kim	    - current memory footprint consumed by f2fs.
35a14d5393SJaegeuk Kim
36a14d5393SJaegeuk Kimconfig F2FS_FS_XATTR
37a14d5393SJaegeuk Kim	bool "F2FS extended attributes"
38a14d5393SJaegeuk Kim	depends on F2FS_FS
39a14d5393SJaegeuk Kim	default y
40a14d5393SJaegeuk Kim	help
41a14d5393SJaegeuk Kim	  Extended attributes are name:value pairs associated with inodes by
4291581e4cSAdam Borowski	  the kernel or by users (see the attr(5) manual page for details).
43a14d5393SJaegeuk Kim
44a14d5393SJaegeuk Kim	  If unsure, say N.
45a14d5393SJaegeuk Kim
46a14d5393SJaegeuk Kimconfig F2FS_FS_POSIX_ACL
47a14d5393SJaegeuk Kim	bool "F2FS Access Control Lists"
48a14d5393SJaegeuk Kim	depends on F2FS_FS_XATTR
49a14d5393SJaegeuk Kim	select FS_POSIX_ACL
50a14d5393SJaegeuk Kim	default y
51a14d5393SJaegeuk Kim	help
52a14d5393SJaegeuk Kim	  Posix Access Control Lists (ACLs) support permissions for users and
53217940d4SJunesung Lee	  groups beyond the owner/group/world scheme.
54a14d5393SJaegeuk Kim
55a14d5393SJaegeuk Kim	  If you don't know what Access Control Lists are, say N
568ae8f162SJaegeuk Kim
578ae8f162SJaegeuk Kimconfig F2FS_FS_SECURITY
588ae8f162SJaegeuk Kim	bool "F2FS Security Labels"
598ae8f162SJaegeuk Kim	depends on F2FS_FS_XATTR
608ae8f162SJaegeuk Kim	help
618ae8f162SJaegeuk Kim	  Security labels provide an access control facility to support Linux
628ae8f162SJaegeuk Kim	  Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
638ae8f162SJaegeuk Kim	  Linux. This option enables an extended attribute handler for file
648ae8f162SJaegeuk Kim	  security labels in the f2fs filesystem, so that it requires enabling
65bd7253bcSLockywolf	  the extended attribute support in advance. In particular you need this
66bd7253bcSLockywolf	  option if you use the setcap command to assign initial process capabi-
67bd7253bcSLockywolf	  lities to executables (the security.* extended attributes).
688ae8f162SJaegeuk Kim
698ae8f162SJaegeuk Kim	  If you are not using a security module, say N.
703b218e3aSJaegeuk Kim
713b218e3aSJaegeuk Kimconfig F2FS_CHECK_FS
723b218e3aSJaegeuk Kim	bool "F2FS consistency checking feature"
733b218e3aSJaegeuk Kim	depends on F2FS_FS
743b218e3aSJaegeuk Kim	help
753b218e3aSJaegeuk Kim	  Enables BUG_ONs which check the filesystem consistency in runtime.
763b218e3aSJaegeuk Kim
773b218e3aSJaegeuk Kim	  If you want to improve the performance, say N.
7863f92ddcSJaegeuk Kim
7963f92ddcSJaegeuk Kimconfig F2FS_IO_TRACE
8063f92ddcSJaegeuk Kim	bool "F2FS IO tracer"
8163f92ddcSJaegeuk Kim	depends on F2FS_FS
8263f92ddcSJaegeuk Kim	depends on FUNCTION_TRACER
8363f92ddcSJaegeuk Kim	help
8463f92ddcSJaegeuk Kim	  F2FS IO trace is based on a function trace, which gathers process
8563f92ddcSJaegeuk Kim	  information and block IO patterns in the filesystem level.
8663f92ddcSJaegeuk Kim
8763f92ddcSJaegeuk Kim	  If unsure, say N.
8873faec4dSJaegeuk Kim
8973faec4dSJaegeuk Kimconfig F2FS_FAULT_INJECTION
9073faec4dSJaegeuk Kim	bool "F2FS fault injection facility"
9173faec4dSJaegeuk Kim	depends on F2FS_FS
9273faec4dSJaegeuk Kim	help
9373faec4dSJaegeuk Kim	  Test F2FS to inject faults such as ENOMEM, ENOSPC, and so on.
9473faec4dSJaegeuk Kim
9573faec4dSJaegeuk Kim	  If unsure, say N.
964c8ff709SChao Yu
974c8ff709SChao Yuconfig F2FS_FS_COMPRESSION
984c8ff709SChao Yu	bool "F2FS compression feature"
994c8ff709SChao Yu	depends on F2FS_FS
1004c8ff709SChao Yu	help
1014c8ff709SChao Yu	  Enable filesystem-level compression on f2fs regular files,
1024c8ff709SChao Yu	  multiple back-end compression algorithms are supported.
1034c8ff709SChao Yu
1044c8ff709SChao Yuconfig F2FS_FS_LZO
1054c8ff709SChao Yu	bool "LZO compression support"
1064c8ff709SChao Yu	depends on F2FS_FS_COMPRESSION
1074c8ff709SChao Yu	select LZO_COMPRESS
1084c8ff709SChao Yu	select LZO_DECOMPRESS
1094c8ff709SChao Yu	default y
1104c8ff709SChao Yu	help
1114c8ff709SChao Yu	  Support LZO compress algorithm, if unsure, say Y.
1124c8ff709SChao Yu
1134c8ff709SChao Yuconfig F2FS_FS_LZ4
1144c8ff709SChao Yu	bool "LZ4 compression support"
1154c8ff709SChao Yu	depends on F2FS_FS_COMPRESSION
1164c8ff709SChao Yu	select LZ4_COMPRESS
1174c8ff709SChao Yu	select LZ4_DECOMPRESS
1184c8ff709SChao Yu	default y
1194c8ff709SChao Yu	help
1204c8ff709SChao Yu	  Support LZ4 compress algorithm, if unsure, say Y.
12150cfa66fSChao Yu
122*3fde13f8SChao Yuconfig F2FS_FS_LZ4HC
123*3fde13f8SChao Yu	bool "LZ4HC compression support"
124*3fde13f8SChao Yu	depends on F2FS_FS_COMPRESSION
125*3fde13f8SChao Yu	depends on F2FS_FS_LZ4
126*3fde13f8SChao Yu	select LZ4HC_COMPRESS
127*3fde13f8SChao Yu	default y
128*3fde13f8SChao Yu	help
129*3fde13f8SChao Yu	  Support LZ4HC compress algorithm, LZ4HC has compatible on-disk
130*3fde13f8SChao Yu	  layout with LZ4, if unsure, say Y.
131*3fde13f8SChao Yu
13250cfa66fSChao Yuconfig F2FS_FS_ZSTD
13350cfa66fSChao Yu	bool "ZSTD compression support"
13450cfa66fSChao Yu	depends on F2FS_FS_COMPRESSION
13550cfa66fSChao Yu	select ZSTD_COMPRESS
13650cfa66fSChao Yu	select ZSTD_DECOMPRESS
13750cfa66fSChao Yu	default y
13850cfa66fSChao Yu	help
13950cfa66fSChao Yu	  Support ZSTD compress algorithm, if unsure, say Y.
1406d92b201SChao Yu
1416d92b201SChao Yuconfig F2FS_FS_LZORLE
1426d92b201SChao Yu	bool "LZO-RLE compression support"
1436d92b201SChao Yu	depends on F2FS_FS_COMPRESSION
1446d92b201SChao Yu	depends on F2FS_FS_LZO
1456d92b201SChao Yu	select LZO_COMPRESS
1466d92b201SChao Yu	select LZO_DECOMPRESS
1476d92b201SChao Yu	default y
1486d92b201SChao Yu	help
1496d92b201SChao Yu	  Support LZO-RLE compress algorithm, if unsure, say Y.
150