xref: /linux/fs/ext4/Kconfig (revision c290ea01abb7907fde602f3ba55905ef10a37477)
1*c290ea01SJan Kara# Ext3 configs are here for backward compatibility with old configs which may
2*c290ea01SJan Kara# have EXT3_FS set but not EXT4_FS set and thus would result in non-bootable
3*c290ea01SJan Kara# kernels after the removal of ext3 driver.
4*c290ea01SJan Karaconfig EXT3_FS
5*c290ea01SJan Kara	tristate "The Extended 3 (ext3) filesystem"
6*c290ea01SJan Kara	# These must match EXT4_FS selects...
7*c290ea01SJan Kara	select EXT4_FS
8*c290ea01SJan Kara	select JBD2
9*c290ea01SJan Kara	select CRC16
10*c290ea01SJan Kara	select CRYPTO
11*c290ea01SJan Kara	select CRYPTO_CRC32C
12*c290ea01SJan Kara	help
13*c290ea01SJan Kara	  This config option is here only for backward compatibility. ext3
14*c290ea01SJan Kara	  filesystem is now handled by the ext4 driver.
15*c290ea01SJan Kara
16*c290ea01SJan Karaconfig EXT3_FS_POSIX_ACL
17*c290ea01SJan Kara	bool "Ext3 POSIX Access Control Lists"
18*c290ea01SJan Kara	depends on EXT3_FS
19*c290ea01SJan Kara	select EXT4_FS_POSIX_ACL
20*c290ea01SJan Kara	select FS_POSIX_ACL
21*c290ea01SJan Kara	help
22*c290ea01SJan Kara	  This config option is here only for backward compatibility. ext3
23*c290ea01SJan Kara	  filesystem is now handled by the ext4 driver.
24*c290ea01SJan Kara
25*c290ea01SJan Karaconfig EXT3_FS_SECURITY
26*c290ea01SJan Kara	bool "Ext3 Security Labels"
27*c290ea01SJan Kara	depends on EXT3_FS
28*c290ea01SJan Kara	select EXT4_FS_SECURITY
29*c290ea01SJan Kara	help
30*c290ea01SJan Kara	  This config option is here only for backward compatibility. ext3
31*c290ea01SJan Kara	  filesystem is now handled by the ext4 driver.
32*c290ea01SJan Kara
336da0b38fSAlexey Dobriyanconfig EXT4_FS
346da0b38fSAlexey Dobriyan	tristate "The Extended 4 (ext4) filesystem"
35*c290ea01SJan Kara	# Please update EXT3_FS selects when changing these
366da0b38fSAlexey Dobriyan	select JBD2
376da0b38fSAlexey Dobriyan	select CRC16
380441984aSDarrick J. Wong	select CRYPTO
390441984aSDarrick J. Wong	select CRYPTO_CRC32C
406da0b38fSAlexey Dobriyan	help
416da0b38fSAlexey Dobriyan	  This is the next generation of the ext3 filesystem.
426da0b38fSAlexey Dobriyan
436da0b38fSAlexey Dobriyan	  Unlike the change from ext2 filesystem to ext3 filesystem,
446da0b38fSAlexey Dobriyan	  the on-disk format of ext4 is not forwards compatible with
456da0b38fSAlexey Dobriyan	  ext3; it is based on extent maps and it supports 48-bit
466da0b38fSAlexey Dobriyan	  physical block numbers.  The ext4 filesystem also supports delayed
476da0b38fSAlexey Dobriyan	  allocation, persistent preallocation, high resolution time stamps,
486da0b38fSAlexey Dobriyan	  and a number of other features to improve performance and speed
496da0b38fSAlexey Dobriyan	  up fsck time.  For more information, please see the web pages at
506da0b38fSAlexey Dobriyan	  http://ext4.wiki.kernel.org.
516da0b38fSAlexey Dobriyan
526da0b38fSAlexey Dobriyan	  The ext4 filesystem will support mounting an ext3
536da0b38fSAlexey Dobriyan	  filesystem; while there will be some performance gains from
546da0b38fSAlexey Dobriyan	  the delayed allocation and inode table readahead, the best
556da0b38fSAlexey Dobriyan	  performance gains will require enabling ext4 features in the
56692105b8SMatt LaPlante	  filesystem, or formatting a new filesystem as an ext4
576da0b38fSAlexey Dobriyan	  filesystem initially.
586da0b38fSAlexey Dobriyan
596da0b38fSAlexey Dobriyan	  To compile this file system support as a module, choose M here. The
606da0b38fSAlexey Dobriyan	  module will be called ext4.
616da0b38fSAlexey Dobriyan
626da0b38fSAlexey Dobriyan	  If unsure, say N.
636da0b38fSAlexey Dobriyan
64*c290ea01SJan Karaconfig EXT4_USE_FOR_EXT2
6524b58424STheodore Ts'o	bool "Use ext4 for ext2/ext3 file systems"
6684c66473SDavid Howells	depends on EXT4_FS
67*c290ea01SJan Kara	depends on EXT2_FS=n
6824b58424STheodore Ts'o	default y
6924b58424STheodore Ts'o	help
70*c290ea01SJan Kara	  Allow the ext4 file system driver code to be used for ext2
71*c290ea01SJan Kara	  file system mounts.  This allows users to reduce their
7224b58424STheodore Ts'o	  compiled kernel size by using one file system driver for
7324b58424STheodore Ts'o	  ext2, ext3, and ext4 file systems.
7424b58424STheodore Ts'o
756da0b38fSAlexey Dobriyanconfig EXT4_FS_POSIX_ACL
766da0b38fSAlexey Dobriyan	bool "Ext4 POSIX Access Control Lists"
7796465efeSValerie Aurora	depends on EXT4_FS
786da0b38fSAlexey Dobriyan	select FS_POSIX_ACL
796da0b38fSAlexey Dobriyan	help
806da0b38fSAlexey Dobriyan	  POSIX Access Control Lists (ACLs) support permissions for users and
816da0b38fSAlexey Dobriyan	  groups beyond the owner/group/world scheme.
826da0b38fSAlexey Dobriyan
836da0b38fSAlexey Dobriyan	  To learn more about Access Control Lists, visit the POSIX ACLs for
846da0b38fSAlexey Dobriyan	  Linux website <http://acl.bestbits.at/>.
856da0b38fSAlexey Dobriyan
866da0b38fSAlexey Dobriyan	  If you don't know what Access Control Lists are, say N
876da0b38fSAlexey Dobriyan
886da0b38fSAlexey Dobriyanconfig EXT4_FS_SECURITY
896da0b38fSAlexey Dobriyan	bool "Ext4 Security Labels"
9096465efeSValerie Aurora	depends on EXT4_FS
916da0b38fSAlexey Dobriyan	help
926da0b38fSAlexey Dobriyan	  Security labels support alternative access control models
936da0b38fSAlexey Dobriyan	  implemented by security modules like SELinux.  This option
946da0b38fSAlexey Dobriyan	  enables an extended attribute handler for file security
956da0b38fSAlexey Dobriyan	  labels in the ext4 filesystem.
966da0b38fSAlexey Dobriyan
976da0b38fSAlexey Dobriyan	  If you are not using a security module that requires using
986da0b38fSAlexey Dobriyan	  extended attributes for file security labels, say N.
996ba495e9STheodore Ts'o
100fb63e548SHerbert Xuconfig EXT4_ENCRYPTION
101fb63e548SHerbert Xu	tristate "Ext4 Encryption"
102b17655fbSTheodore Ts'o	depends on EXT4_FS
103b17655fbSTheodore Ts'o	select CRYPTO_AES
104b17655fbSTheodore Ts'o	select CRYPTO_CBC
105b17655fbSTheodore Ts'o	select CRYPTO_ECB
106b17655fbSTheodore Ts'o	select CRYPTO_XTS
107b17655fbSTheodore Ts'o	select CRYPTO_CTS
10871dea01eSTheodore Ts'o	select CRYPTO_CTR
109b17655fbSTheodore Ts'o	select CRYPTO_SHA256
110b17655fbSTheodore Ts'o	select KEYS
111b17655fbSTheodore Ts'o	select ENCRYPTED_KEYS
112b17655fbSTheodore Ts'o	help
113b17655fbSTheodore Ts'o	  Enable encryption of ext4 files and directories.  This
114b17655fbSTheodore Ts'o	  feature is similar to ecryptfs, but it is more memory
115b17655fbSTheodore Ts'o	  efficient since it avoids caching the encrypted and
116b17655fbSTheodore Ts'o	  decrypted pages in the page cache.
117b17655fbSTheodore Ts'o
118fb63e548SHerbert Xuconfig EXT4_FS_ENCRYPTION
119fb63e548SHerbert Xu	bool
120fb63e548SHerbert Xu	default y
121fb63e548SHerbert Xu	depends on EXT4_ENCRYPTION
122fb63e548SHerbert Xu
1236ba495e9STheodore Ts'oconfig EXT4_DEBUG
1246ba495e9STheodore Ts'o	bool "EXT4 debugging support"
1256ba495e9STheodore Ts'o	depends on EXT4_FS
1266ba495e9STheodore Ts'o	help
1276ba495e9STheodore Ts'o	  Enables run-time debugging support for the ext4 filesystem.
1286ba495e9STheodore Ts'o
1296ba495e9STheodore Ts'o	  If you select Y here, then you will be able to turn on debugging
1307f3e3c7cSTheodore Ts'o	  with a command such as:
1317f3e3c7cSTheodore Ts'o		echo 1 > /sys/module/ext4/parameters/mballoc_debug
132