xref: /linux/fs/ext4/Kconfig (revision 37b33c68b00089a574ebd0a856a5d554eb3001b7)
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	select EXT4_FS
8c290ea01SJan Kara	help
9c290ea01SJan Kara	  This config option is here only for backward compatibility. ext3
10c290ea01SJan Kara	  filesystem is now handled by the ext4 driver.
11c290ea01SJan Kara
12c290ea01SJan Karaconfig EXT3_FS_POSIX_ACL
13c290ea01SJan Kara	bool "Ext3 POSIX Access Control Lists"
14c290ea01SJan Kara	depends on EXT3_FS
15c290ea01SJan Kara	select EXT4_FS_POSIX_ACL
16c290ea01SJan Kara	select FS_POSIX_ACL
17c290ea01SJan Kara	help
18c290ea01SJan Kara	  This config option is here only for backward compatibility. ext3
19c290ea01SJan Kara	  filesystem is now handled by the ext4 driver.
20c290ea01SJan Kara
21c290ea01SJan Karaconfig EXT3_FS_SECURITY
22c290ea01SJan Kara	bool "Ext3 Security Labels"
23c290ea01SJan Kara	depends on EXT3_FS
24c290ea01SJan Kara	select EXT4_FS_SECURITY
25c290ea01SJan Kara	help
26c290ea01SJan Kara	  This config option is here only for backward compatibility. ext3
27c290ea01SJan Kara	  filesystem is now handled by the ext4 driver.
28c290ea01SJan Kara
296da0b38fSAlexey Dobriyanconfig EXT4_FS
306da0b38fSAlexey Dobriyan	tristate "The Extended 4 (ext4) filesystem"
31925c86a1SChristoph Hellwig	select BUFFER_HEAD
326da0b38fSAlexey Dobriyan	select JBD2
336da0b38fSAlexey Dobriyan	select CRC16
34*f2b4fa19SEric Biggers	select CRC32
35545052e9SChristoph Hellwig	select FS_IOMAP
36ede7a09fSHerbert Xu	select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
376da0b38fSAlexey Dobriyan	help
386da0b38fSAlexey Dobriyan	  This is the next generation of the ext3 filesystem.
396da0b38fSAlexey Dobriyan
406da0b38fSAlexey Dobriyan	  Unlike the change from ext2 filesystem to ext3 filesystem,
416da0b38fSAlexey Dobriyan	  the on-disk format of ext4 is not forwards compatible with
426da0b38fSAlexey Dobriyan	  ext3; it is based on extent maps and it supports 48-bit
436da0b38fSAlexey Dobriyan	  physical block numbers.  The ext4 filesystem also supports delayed
446da0b38fSAlexey Dobriyan	  allocation, persistent preallocation, high resolution time stamps,
456da0b38fSAlexey Dobriyan	  and a number of other features to improve performance and speed
466da0b38fSAlexey Dobriyan	  up fsck time.  For more information, please see the web pages at
476da0b38fSAlexey Dobriyan	  http://ext4.wiki.kernel.org.
486da0b38fSAlexey Dobriyan
49c8962f4bSJan Kara	  The ext4 filesystem supports mounting an ext3 filesystem; while there
50c8962f4bSJan Kara	  are some performance gains from the delayed allocation and inode
51c8962f4bSJan Kara	  table readahead, the best performance gains require enabling ext4
52c8962f4bSJan Kara	  features in the filesystem using tune2fs, or formatting a new
53c8962f4bSJan Kara	  filesystem as an ext4 filesystem initially. Without explicit enabling
54c8962f4bSJan Kara	  of ext4 features, the on disk filesystem format stays fully backward
55c8962f4bSJan Kara	  compatible.
566da0b38fSAlexey Dobriyan
576da0b38fSAlexey Dobriyan	  To compile this file system support as a module, choose M here. The
586da0b38fSAlexey Dobriyan	  module will be called ext4.
596da0b38fSAlexey Dobriyan
606da0b38fSAlexey Dobriyan	  If unsure, say N.
616da0b38fSAlexey Dobriyan
62c290ea01SJan Karaconfig EXT4_USE_FOR_EXT2
63d4eb6deeSJean Delvare	bool "Use ext4 for ext2 file systems"
6484c66473SDavid Howells	depends on EXT4_FS
65c290ea01SJan Kara	depends on EXT2_FS=n
6624b58424STheodore Ts'o	default y
6724b58424STheodore Ts'o	help
68c290ea01SJan Kara	  Allow the ext4 file system driver code to be used for ext2
69c290ea01SJan Kara	  file system mounts.  This allows users to reduce their
7024b58424STheodore Ts'o	  compiled kernel size by using one file system driver for
7124b58424STheodore Ts'o	  ext2, ext3, and ext4 file systems.
7224b58424STheodore Ts'o
736da0b38fSAlexey Dobriyanconfig EXT4_FS_POSIX_ACL
746da0b38fSAlexey Dobriyan	bool "Ext4 POSIX Access Control Lists"
7596465efeSValerie Aurora	depends on EXT4_FS
766da0b38fSAlexey Dobriyan	select FS_POSIX_ACL
776da0b38fSAlexey Dobriyan	help
786da0b38fSAlexey Dobriyan	  POSIX Access Control Lists (ACLs) support permissions for users and
796da0b38fSAlexey Dobriyan	  groups beyond the owner/group/world scheme.
806da0b38fSAlexey Dobriyan
816da0b38fSAlexey Dobriyan	  If you don't know what Access Control Lists are, say N
826da0b38fSAlexey Dobriyan
836da0b38fSAlexey Dobriyanconfig EXT4_FS_SECURITY
846da0b38fSAlexey Dobriyan	bool "Ext4 Security Labels"
8596465efeSValerie Aurora	depends on EXT4_FS
866da0b38fSAlexey Dobriyan	help
876da0b38fSAlexey Dobriyan	  Security labels support alternative access control models
886da0b38fSAlexey Dobriyan	  implemented by security modules like SELinux.  This option
896da0b38fSAlexey Dobriyan	  enables an extended attribute handler for file security
906da0b38fSAlexey Dobriyan	  labels in the ext4 filesystem.
916da0b38fSAlexey Dobriyan
926da0b38fSAlexey Dobriyan	  If you are not using a security module that requires using
936da0b38fSAlexey Dobriyan	  extended attributes for file security labels, say N.
946ba495e9STheodore Ts'o
956ba495e9STheodore Ts'oconfig EXT4_DEBUG
96231fe82bSGeert Uytterhoeven	bool "Ext4 debugging support"
976ba495e9STheodore Ts'o	depends on EXT4_FS
986ba495e9STheodore Ts'o	help
996ba495e9STheodore Ts'o	  Enables run-time debugging support for the ext4 filesystem.
1006ba495e9STheodore Ts'o
1016ba495e9STheodore Ts'o	  If you select Y here, then you will be able to turn on debugging
10270aa1554SRitesh Harjani	  using dynamic debug control for mb_debug() / ext_debug() msgs.
1031cbeab1bSIurii Zaikin
1041cbeab1bSIurii Zaikinconfig EXT4_KUNIT_TESTS
105d194e12bSAnders Roxell	tristate "KUnit tests for ext4" if !KUNIT_ALL_TESTS
106302fdadeSGeert Uytterhoeven	depends on EXT4_FS && KUNIT
107d194e12bSAnders Roxell	default KUNIT_ALL_TESTS
1081cbeab1bSIurii Zaikin	help
1091cbeab1bSIurii Zaikin	  This builds the ext4 KUnit tests.
1101cbeab1bSIurii Zaikin
1111cbeab1bSIurii Zaikin	  KUnit tests run during boot and output the results to the debug log
112e65bf6e4SAlexander A. Klimov	  in TAP format (https://testanything.org/). Only useful for kernel devs
1131cbeab1bSIurii Zaikin	  running KUnit test harness and are not for inclusion into a production
1141cbeab1bSIurii Zaikin	  build.
1151cbeab1bSIurii Zaikin
1161cbeab1bSIurii Zaikin	  For more information on KUnit and unit tests in general please refer
1171cbeab1bSIurii Zaikin	  to the KUnit documentation in Documentation/dev-tools/kunit/.
1181cbeab1bSIurii Zaikin
1191cbeab1bSIurii Zaikin	  If unsure, say N.
120