xref: /openbmc/linux/fs/f2fs/Kconfig (revision 3805e6a1)
1config F2FS_FS
2	tristate "F2FS filesystem support"
3	depends on BLOCK
4	select CRYPTO
5	select CRYPTO_CRC32
6	help
7	  F2FS is based on Log-structured File System (LFS), which supports
8	  versatile "flash-friendly" features. The design has been focused on
9	  addressing the fundamental issues in LFS, which are snowball effect
10	  of wandering tree and high cleaning overhead.
11
12	  Since flash-based storages show different characteristics according to
13	  the internal geometry or flash memory management schemes aka FTL, F2FS
14	  and tools support various parameters not only for configuring on-disk
15	  layout, but also for selecting allocation and cleaning algorithms.
16
17	  If unsure, say N.
18
19config F2FS_STAT_FS
20	bool "F2FS Status Information"
21	depends on F2FS_FS && DEBUG_FS
22	default y
23	help
24	  /sys/kernel/debug/f2fs/ contains information about all the partitions
25	  mounted as f2fs. Each file shows the whole f2fs information.
26
27	  /sys/kernel/debug/f2fs/status includes:
28	    - major filesystem information managed by f2fs currently
29	    - average SIT information about whole segments
30	    - current memory footprint consumed by f2fs.
31
32config F2FS_FS_XATTR
33	bool "F2FS extended attributes"
34	depends on F2FS_FS
35	default y
36	help
37	  Extended attributes are name:value pairs associated with inodes by
38	  the kernel or by users (see the attr(5) manual page, or visit
39	  <http://acl.bestbits.at/> for details).
40
41	  If unsure, say N.
42
43config F2FS_FS_POSIX_ACL
44	bool "F2FS Access Control Lists"
45	depends on F2FS_FS_XATTR
46	select FS_POSIX_ACL
47	default y
48	help
49	  Posix Access Control Lists (ACLs) support permissions for users and
50	  groups beyond the owner/group/world scheme.
51
52	  To learn more about Access Control Lists, visit the POSIX ACLs for
53	  Linux website <http://acl.bestbits.at/>.
54
55	  If you don't know what Access Control Lists are, say N
56
57config F2FS_FS_SECURITY
58	bool "F2FS Security Labels"
59	depends on F2FS_FS_XATTR
60	help
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.
66
67	  If you are not using a security module, say N.
68
69config F2FS_CHECK_FS
70	bool "F2FS consistency checking feature"
71	depends on F2FS_FS
72	help
73	  Enables BUG_ONs which check the filesystem consistency in runtime.
74
75	  If you want to improve the performance, say N.
76
77config F2FS_FS_ENCRYPTION
78	bool "F2FS Encryption"
79	depends on F2FS_FS
80	depends on F2FS_FS_XATTR
81	select FS_ENCRYPTION
82	help
83	  Enable encryption of f2fs files and directories.  This
84	  feature is similar to ecryptfs, but it is more memory
85	  efficient since it avoids caching the encrypted and
86	  decrypted pages in the page cache.
87
88config F2FS_IO_TRACE
89	bool "F2FS IO tracer"
90	depends on F2FS_FS
91	depends on FUNCTION_TRACER
92	help
93	  F2FS IO trace is based on a function trace, which gathers process
94	  information and block IO patterns in the filesystem level.
95
96	  If unsure, say N.
97
98config F2FS_FAULT_INJECTION
99	bool "F2FS fault injection facility"
100	depends on F2FS_FS
101	help
102	  Test F2FS to inject faults such as ENOMEM, ENOSPC, and so on.
103
104	  If unsure, say N.
105