xref: /openbmc/linux/fs/f2fs/Kconfig (revision 43b6573b)
1a14d5393SJaegeuk Kimconfig F2FS_FS
2d7196c5aSJaegeuk Kim	tristate "F2FS filesystem support"
3573ea5fcSJaegeuk Kim	depends on BLOCK
4*43b6573bSKeith Mok	select CRYPTO
5*43b6573bSKeith Mok	select CRYPTO_CRC32
6a14d5393SJaegeuk Kim	help
7a14d5393SJaegeuk Kim	  F2FS is based on Log-structured File System (LFS), which supports
8a14d5393SJaegeuk Kim	  versatile "flash-friendly" features. The design has been focused on
9a14d5393SJaegeuk Kim	  addressing the fundamental issues in LFS, which are snowball effect
10a14d5393SJaegeuk Kim	  of wandering tree and high cleaning overhead.
11a14d5393SJaegeuk Kim
12a14d5393SJaegeuk Kim	  Since flash-based storages show different characteristics according to
13a14d5393SJaegeuk Kim	  the internal geometry or flash memory management schemes aka FTL, F2FS
14a14d5393SJaegeuk Kim	  and tools support various parameters not only for configuring on-disk
15a14d5393SJaegeuk Kim	  layout, but also for selecting allocation and cleaning algorithms.
16a14d5393SJaegeuk Kim
17a14d5393SJaegeuk Kim	  If unsure, say N.
18a14d5393SJaegeuk Kim
19a14d5393SJaegeuk Kimconfig F2FS_STAT_FS
20a14d5393SJaegeuk Kim	bool "F2FS Status Information"
21a14d5393SJaegeuk Kim	depends on F2FS_FS && DEBUG_FS
22a14d5393SJaegeuk Kim	default y
23a14d5393SJaegeuk Kim	help
24a14d5393SJaegeuk Kim	  /sys/kernel/debug/f2fs/ contains information about all the partitions
25a14d5393SJaegeuk Kim	  mounted as f2fs. Each file shows the whole f2fs information.
26a14d5393SJaegeuk Kim
27a14d5393SJaegeuk Kim	  /sys/kernel/debug/f2fs/status includes:
28a14d5393SJaegeuk Kim	    - major filesystem information managed by f2fs currently
29a14d5393SJaegeuk Kim	    - average SIT information about whole segments
30a14d5393SJaegeuk Kim	    - current memory footprint consumed by f2fs.
31a14d5393SJaegeuk Kim
32a14d5393SJaegeuk Kimconfig F2FS_FS_XATTR
33a14d5393SJaegeuk Kim	bool "F2FS extended attributes"
34a14d5393SJaegeuk Kim	depends on F2FS_FS
35a14d5393SJaegeuk Kim	default y
36a14d5393SJaegeuk Kim	help
37a14d5393SJaegeuk Kim	  Extended attributes are name:value pairs associated with inodes by
38a14d5393SJaegeuk Kim	  the kernel or by users (see the attr(5) manual page, or visit
39a14d5393SJaegeuk Kim	  <http://acl.bestbits.at/> for details).
40a14d5393SJaegeuk Kim
41a14d5393SJaegeuk Kim	  If unsure, say N.
42a14d5393SJaegeuk Kim
43a14d5393SJaegeuk Kimconfig F2FS_FS_POSIX_ACL
44a14d5393SJaegeuk Kim	bool "F2FS Access Control Lists"
45a14d5393SJaegeuk Kim	depends on F2FS_FS_XATTR
46a14d5393SJaegeuk Kim	select FS_POSIX_ACL
47a14d5393SJaegeuk Kim	default y
48a14d5393SJaegeuk Kim	help
49a14d5393SJaegeuk Kim	  Posix Access Control Lists (ACLs) support permissions for users and
50217940d4SJunesung Lee	  groups beyond the owner/group/world scheme.
51a14d5393SJaegeuk Kim
52a14d5393SJaegeuk Kim	  To learn more about Access Control Lists, visit the POSIX ACLs for
53a14d5393SJaegeuk Kim	  Linux website <http://acl.bestbits.at/>.
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
658ae8f162SJaegeuk Kim	  the extended attribute support in advance.
668ae8f162SJaegeuk Kim
678ae8f162SJaegeuk Kim	  If you are not using a security module, say N.
683b218e3aSJaegeuk Kim
693b218e3aSJaegeuk Kimconfig F2FS_CHECK_FS
703b218e3aSJaegeuk Kim	bool "F2FS consistency checking feature"
713b218e3aSJaegeuk Kim	depends on F2FS_FS
723b218e3aSJaegeuk Kim	help
733b218e3aSJaegeuk Kim	  Enables BUG_ONs which check the filesystem consistency in runtime.
743b218e3aSJaegeuk Kim
753b218e3aSJaegeuk Kim	  If you want to improve the performance, say N.
7663f92ddcSJaegeuk Kim
77d33793fbSJaegeuk Kimconfig F2FS_FS_ENCRYPTION
78d33793fbSJaegeuk Kim	bool "F2FS Encryption"
79d33793fbSJaegeuk Kim	depends on F2FS_FS
80d33793fbSJaegeuk Kim	depends on F2FS_FS_XATTR
810b81d077SJaegeuk Kim	select FS_ENCRYPTION
82d33793fbSJaegeuk Kim	help
83d33793fbSJaegeuk Kim	  Enable encryption of f2fs files and directories.  This
84d33793fbSJaegeuk Kim	  feature is similar to ecryptfs, but it is more memory
85d33793fbSJaegeuk Kim	  efficient since it avoids caching the encrypted and
86d33793fbSJaegeuk Kim	  decrypted pages in the page cache.
87d33793fbSJaegeuk Kim
8863f92ddcSJaegeuk Kimconfig F2FS_IO_TRACE
8963f92ddcSJaegeuk Kim	bool "F2FS IO tracer"
9063f92ddcSJaegeuk Kim	depends on F2FS_FS
9163f92ddcSJaegeuk Kim	depends on FUNCTION_TRACER
9263f92ddcSJaegeuk Kim	help
9363f92ddcSJaegeuk Kim	  F2FS IO trace is based on a function trace, which gathers process
9463f92ddcSJaegeuk Kim	  information and block IO patterns in the filesystem level.
9563f92ddcSJaegeuk Kim
9663f92ddcSJaegeuk Kim	  If unsure, say N.
97