xref: /openbmc/linux/fs/ext4/Kconfig (revision ede7a09fc8815011d67942e5b4a3cb1882b7bcd9)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2c290ea01SJan Kara# Ext3 configs are here for backward compatibility with old configs which may
3c290ea01SJan Kara# have EXT3_FS set but not EXT4_FS set and thus would result in non-bootable
4c290ea01SJan Kara# kernels after the removal of ext3 driver.
5c290ea01SJan Karaconfig EXT3_FS
6c290ea01SJan Kara	tristate "The Extended 3 (ext3) filesystem"
7c290ea01SJan Kara	# These must match EXT4_FS selects...
8c290ea01SJan Kara	select EXT4_FS
9c290ea01SJan Kara	select JBD2
10c290ea01SJan Kara	select CRC16
11c290ea01SJan Kara	select CRYPTO
12c290ea01SJan Kara	select CRYPTO_CRC32C
13c290ea01SJan Kara	help
14c290ea01SJan Kara	  This config option is here only for backward compatibility. ext3
15c290ea01SJan Kara	  filesystem is now handled by the ext4 driver.
16c290ea01SJan Kara
17c290ea01SJan Karaconfig EXT3_FS_POSIX_ACL
18c290ea01SJan Kara	bool "Ext3 POSIX Access Control Lists"
19c290ea01SJan Kara	depends on EXT3_FS
20c290ea01SJan Kara	select EXT4_FS_POSIX_ACL
21c290ea01SJan Kara	select FS_POSIX_ACL
22c290ea01SJan Kara	help
23c290ea01SJan Kara	  This config option is here only for backward compatibility. ext3
24c290ea01SJan Kara	  filesystem is now handled by the ext4 driver.
25c290ea01SJan Kara
26c290ea01SJan Karaconfig EXT3_FS_SECURITY
27c290ea01SJan Kara	bool "Ext3 Security Labels"
28c290ea01SJan Kara	depends on EXT3_FS
29c290ea01SJan Kara	select EXT4_FS_SECURITY
30c290ea01SJan Kara	help
31c290ea01SJan Kara	  This config option is here only for backward compatibility. ext3
32c290ea01SJan Kara	  filesystem is now handled by the ext4 driver.
33c290ea01SJan Kara
346da0b38fSAlexey Dobriyanconfig EXT4_FS
356da0b38fSAlexey Dobriyan	tristate "The Extended 4 (ext4) filesystem"
36c290ea01SJan Kara	# Please update EXT3_FS selects when changing these
376da0b38fSAlexey Dobriyan	select JBD2
386da0b38fSAlexey Dobriyan	select CRC16
390441984aSDarrick J. Wong	select CRYPTO
400441984aSDarrick J. Wong	select CRYPTO_CRC32C
41545052e9SChristoph Hellwig	select FS_IOMAP
42*ede7a09fSHerbert Xu	select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
436da0b38fSAlexey Dobriyan	help
446da0b38fSAlexey Dobriyan	  This is the next generation of the ext3 filesystem.
456da0b38fSAlexey Dobriyan
466da0b38fSAlexey Dobriyan	  Unlike the change from ext2 filesystem to ext3 filesystem,
476da0b38fSAlexey Dobriyan	  the on-disk format of ext4 is not forwards compatible with
486da0b38fSAlexey Dobriyan	  ext3; it is based on extent maps and it supports 48-bit
496da0b38fSAlexey Dobriyan	  physical block numbers.  The ext4 filesystem also supports delayed
506da0b38fSAlexey Dobriyan	  allocation, persistent preallocation, high resolution time stamps,
516da0b38fSAlexey Dobriyan	  and a number of other features to improve performance and speed
526da0b38fSAlexey Dobriyan	  up fsck time.  For more information, please see the web pages at
536da0b38fSAlexey Dobriyan	  http://ext4.wiki.kernel.org.
546da0b38fSAlexey Dobriyan
55c8962f4bSJan Kara	  The ext4 filesystem supports mounting an ext3 filesystem; while there
56c8962f4bSJan Kara	  are some performance gains from the delayed allocation and inode
57c8962f4bSJan Kara	  table readahead, the best performance gains require enabling ext4
58c8962f4bSJan Kara	  features in the filesystem using tune2fs, or formatting a new
59c8962f4bSJan Kara	  filesystem as an ext4 filesystem initially. Without explicit enabling
60c8962f4bSJan Kara	  of ext4 features, the on disk filesystem format stays fully backward
61c8962f4bSJan Kara	  compatible.
626da0b38fSAlexey Dobriyan
636da0b38fSAlexey Dobriyan	  To compile this file system support as a module, choose M here. The
646da0b38fSAlexey Dobriyan	  module will be called ext4.
656da0b38fSAlexey Dobriyan
666da0b38fSAlexey Dobriyan	  If unsure, say N.
676da0b38fSAlexey Dobriyan
68c290ea01SJan Karaconfig EXT4_USE_FOR_EXT2
69d4eb6deeSJean Delvare	bool "Use ext4 for ext2 file systems"
7084c66473SDavid Howells	depends on EXT4_FS
71c290ea01SJan Kara	depends on EXT2_FS=n
7224b58424STheodore Ts'o	default y
7324b58424STheodore Ts'o	help
74c290ea01SJan Kara	  Allow the ext4 file system driver code to be used for ext2
75c290ea01SJan Kara	  file system mounts.  This allows users to reduce their
7624b58424STheodore Ts'o	  compiled kernel size by using one file system driver for
7724b58424STheodore Ts'o	  ext2, ext3, and ext4 file systems.
7824b58424STheodore Ts'o
796da0b38fSAlexey Dobriyanconfig EXT4_FS_POSIX_ACL
806da0b38fSAlexey Dobriyan	bool "Ext4 POSIX Access Control Lists"
8196465efeSValerie Aurora	depends on EXT4_FS
826da0b38fSAlexey Dobriyan	select FS_POSIX_ACL
836da0b38fSAlexey Dobriyan	help
846da0b38fSAlexey Dobriyan	  POSIX Access Control Lists (ACLs) support permissions for users and
856da0b38fSAlexey Dobriyan	  groups beyond the owner/group/world scheme.
866da0b38fSAlexey Dobriyan
876da0b38fSAlexey Dobriyan	  If you don't know what Access Control Lists are, say N
886da0b38fSAlexey Dobriyan
896da0b38fSAlexey Dobriyanconfig EXT4_FS_SECURITY
906da0b38fSAlexey Dobriyan	bool "Ext4 Security Labels"
9196465efeSValerie Aurora	depends on EXT4_FS
926da0b38fSAlexey Dobriyan	help
936da0b38fSAlexey Dobriyan	  Security labels support alternative access control models
946da0b38fSAlexey Dobriyan	  implemented by security modules like SELinux.  This option
956da0b38fSAlexey Dobriyan	  enables an extended attribute handler for file security
966da0b38fSAlexey Dobriyan	  labels in the ext4 filesystem.
976da0b38fSAlexey Dobriyan
986da0b38fSAlexey Dobriyan	  If you are not using a security module that requires using
996da0b38fSAlexey Dobriyan	  extended attributes for file security labels, say N.
1006ba495e9STheodore Ts'o
1016ba495e9STheodore Ts'oconfig EXT4_DEBUG
102231fe82bSGeert Uytterhoeven	bool "Ext4 debugging support"
1036ba495e9STheodore Ts'o	depends on EXT4_FS
1046ba495e9STheodore Ts'o	help
1056ba495e9STheodore Ts'o	  Enables run-time debugging support for the ext4 filesystem.
1066ba495e9STheodore Ts'o
1076ba495e9STheodore Ts'o	  If you select Y here, then you will be able to turn on debugging
1087f3e3c7cSTheodore Ts'o	  with a command such as:
1097f3e3c7cSTheodore Ts'o		echo 1 > /sys/module/ext4/parameters/mballoc_debug
1101cbeab1bSIurii Zaikin
1111cbeab1bSIurii Zaikinconfig EXT4_KUNIT_TESTS
1121cbeab1bSIurii Zaikin	bool "KUnit tests for ext4"
1131cbeab1bSIurii Zaikin	select EXT4_FS
1141cbeab1bSIurii Zaikin	depends on KUNIT
1151cbeab1bSIurii Zaikin	help
1161cbeab1bSIurii Zaikin	  This builds the ext4 KUnit tests.
1171cbeab1bSIurii Zaikin
1181cbeab1bSIurii Zaikin	  KUnit tests run during boot and output the results to the debug log
1191cbeab1bSIurii Zaikin	  in TAP format (http://testanything.org/). Only useful for kernel devs
1201cbeab1bSIurii Zaikin	  running KUnit test harness and are not for inclusion into a production
1211cbeab1bSIurii Zaikin	  build.
1221cbeab1bSIurii Zaikin
1231cbeab1bSIurii Zaikin	  For more information on KUnit and unit tests in general please refer
1241cbeab1bSIurii Zaikin	  to the KUnit documentation in Documentation/dev-tools/kunit/.
1251cbeab1bSIurii Zaikin
1261cbeab1bSIurii Zaikin	  If unsure, say N.
127