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