ext4 crypto: do not select from EXT4_FS_ENCRYPTION
[linux.git] / fs / ext4 / Kconfig
1 config EXT4_FS
2         tristate "The Extended 4 (ext4) filesystem"
3         select JBD2
4         select CRC16
5         select CRYPTO
6         select CRYPTO_CRC32C
7         help
8           This is the next generation of the ext3 filesystem.
9
10           Unlike the change from ext2 filesystem to ext3 filesystem,
11           the on-disk format of ext4 is not forwards compatible with
12           ext3; it is based on extent maps and it supports 48-bit
13           physical block numbers.  The ext4 filesystem also supports delayed
14           allocation, persistent preallocation, high resolution time stamps,
15           and a number of other features to improve performance and speed
16           up fsck time.  For more information, please see the web pages at
17           http://ext4.wiki.kernel.org.
18
19           The ext4 filesystem will support mounting an ext3
20           filesystem; while there will be some performance gains from
21           the delayed allocation and inode table readahead, the best
22           performance gains will require enabling ext4 features in the
23           filesystem, or formatting a new filesystem as an ext4
24           filesystem initially.
25
26           To compile this file system support as a module, choose M here. The
27           module will be called ext4.
28
29           If unsure, say N.
30
31 config EXT4_USE_FOR_EXT23
32         bool "Use ext4 for ext2/ext3 file systems"
33         depends on EXT4_FS
34         depends on EXT3_FS=n || EXT2_FS=n
35         default y
36         help
37           Allow the ext4 file system driver code to be used for ext2 or
38           ext3 file system mounts.  This allows users to reduce their
39           compiled kernel size by using one file system driver for
40           ext2, ext3, and ext4 file systems.
41
42 config EXT4_FS_POSIX_ACL
43         bool "Ext4 POSIX Access Control Lists"
44         depends on EXT4_FS
45         select FS_POSIX_ACL
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
55 config EXT4_FS_SECURITY
56         bool "Ext4 Security Labels"
57         depends on EXT4_FS
58         help
59           Security labels support alternative access control models
60           implemented by security modules like SELinux.  This option
61           enables an extended attribute handler for file security
62           labels in the ext4 filesystem.
63
64           If you are not using a security module that requires using
65           extended attributes for file security labels, say N.
66
67 config EXT4_ENCRYPTION
68         tristate "Ext4 Encryption"
69         depends on EXT4_FS
70         select CRYPTO_AES
71         select CRYPTO_CBC
72         select CRYPTO_ECB
73         select CRYPTO_XTS
74         select CRYPTO_CTS
75         select CRYPTO_SHA256
76         select KEYS
77         select ENCRYPTED_KEYS
78         help
79           Enable encryption of ext4 files and directories.  This
80           feature is similar to ecryptfs, but it is more memory
81           efficient since it avoids caching the encrypted and
82           decrypted pages in the page cache.
83
84 config EXT4_FS_ENCRYPTION
85         bool
86         default y
87         depends on EXT4_ENCRYPTION
88
89 config EXT4_DEBUG
90         bool "EXT4 debugging support"
91         depends on EXT4_FS
92         help
93           Enables run-time debugging support for the ext4 filesystem.
94
95           If you select Y here, then you will be able to turn on debugging
96           with a command such as:
97                 echo 1 > /sys/module/ext4/parameters/mballoc_debug