0001 # SPDX-License-Identifier: GPL-2.0-only
0002 # Ext3 configs are here for backward compatibility with old configs which may
0003 # have EXT3_FS set but not EXT4_FS set and thus would result in non-bootable
0004 # kernels after the removal of ext3 driver.
0005 config EXT3_FS
0006 tristate "The Extended 3 (ext3) filesystem"
0007 select EXT4_FS
0008 help
0009 This config option is here only for backward compatibility. ext3
0010 filesystem is now handled by the ext4 driver.
0011
0012 config EXT3_FS_POSIX_ACL
0013 bool "Ext3 POSIX Access Control Lists"
0014 depends on EXT3_FS
0015 select EXT4_FS_POSIX_ACL
0016 select FS_POSIX_ACL
0017 help
0018 This config option is here only for backward compatibility. ext3
0019 filesystem is now handled by the ext4 driver.
0020
0021 config EXT3_FS_SECURITY
0022 bool "Ext3 Security Labels"
0023 depends on EXT3_FS
0024 select EXT4_FS_SECURITY
0025 help
0026 This config option is here only for backward compatibility. ext3
0027 filesystem is now handled by the ext4 driver.
0028
0029 config EXT4_FS
0030 tristate "The Extended 4 (ext4) filesystem"
0031 select JBD2
0032 select CRC16
0033 select CRYPTO
0034 select CRYPTO_CRC32C
0035 select FS_IOMAP
0036 select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
0037 help
0038 This is the next generation of the ext3 filesystem.
0039
0040 Unlike the change from ext2 filesystem to ext3 filesystem,
0041 the on-disk format of ext4 is not forwards compatible with
0042 ext3; it is based on extent maps and it supports 48-bit
0043 physical block numbers. The ext4 filesystem also supports delayed
0044 allocation, persistent preallocation, high resolution time stamps,
0045 and a number of other features to improve performance and speed
0046 up fsck time. For more information, please see the web pages at
0047 http://ext4.wiki.kernel.org.
0048
0049 The ext4 filesystem supports mounting an ext3 filesystem; while there
0050 are some performance gains from the delayed allocation and inode
0051 table readahead, the best performance gains require enabling ext4
0052 features in the filesystem using tune2fs, or formatting a new
0053 filesystem as an ext4 filesystem initially. Without explicit enabling
0054 of ext4 features, the on disk filesystem format stays fully backward
0055 compatible.
0056
0057 To compile this file system support as a module, choose M here. The
0058 module will be called ext4.
0059
0060 If unsure, say N.
0061
0062 config EXT4_USE_FOR_EXT2
0063 bool "Use ext4 for ext2 file systems"
0064 depends on EXT4_FS
0065 depends on EXT2_FS=n
0066 default y
0067 help
0068 Allow the ext4 file system driver code to be used for ext2
0069 file system mounts. This allows users to reduce their
0070 compiled kernel size by using one file system driver for
0071 ext2, ext3, and ext4 file systems.
0072
0073 config EXT4_FS_POSIX_ACL
0074 bool "Ext4 POSIX Access Control Lists"
0075 depends on EXT4_FS
0076 select FS_POSIX_ACL
0077 help
0078 POSIX Access Control Lists (ACLs) support permissions for users and
0079 groups beyond the owner/group/world scheme.
0080
0081 If you don't know what Access Control Lists are, say N
0082
0083 config EXT4_FS_SECURITY
0084 bool "Ext4 Security Labels"
0085 depends on EXT4_FS
0086 help
0087 Security labels support alternative access control models
0088 implemented by security modules like SELinux. This option
0089 enables an extended attribute handler for file security
0090 labels in the ext4 filesystem.
0091
0092 If you are not using a security module that requires using
0093 extended attributes for file security labels, say N.
0094
0095 config EXT4_DEBUG
0096 bool "Ext4 debugging support"
0097 depends on EXT4_FS
0098 help
0099 Enables run-time debugging support for the ext4 filesystem.
0100
0101 If you select Y here, then you will be able to turn on debugging
0102 using dynamic debug control for mb_debug() / ext_debug() msgs.
0103
0104 config EXT4_KUNIT_TESTS
0105 tristate "KUnit tests for ext4" if !KUNIT_ALL_TESTS
0106 depends on EXT4_FS && KUNIT
0107 default KUNIT_ALL_TESTS
0108 help
0109 This builds the ext4 KUnit tests.
0110
0111 KUnit tests run during boot and output the results to the debug log
0112 in TAP format (https://testanything.org/). Only useful for kernel devs
0113 running KUnit test harness and are not for inclusion into a production
0114 build.
0115
0116 For more information on KUnit and unit tests in general please refer
0117 to the KUnit documentation in Documentation/dev-tools/kunit/.
0118
0119 If unsure, say N.