^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) # Ext3 configs are here for backward compatibility with old configs which may
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) # have EXT3_FS set but not EXT4_FS set and thus would result in non-bootable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) # kernels after the removal of ext3 driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) config EXT3_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) tristate "The Extended 3 (ext3) filesystem"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) select EXT4_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) This config option is here only for backward compatibility. ext3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) filesystem is now handled by the ext4 driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) config EXT3_FS_POSIX_ACL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) bool "Ext3 POSIX Access Control Lists"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) depends on EXT3_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) select EXT4_FS_POSIX_ACL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) select FS_POSIX_ACL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) This config option is here only for backward compatibility. ext3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) filesystem is now handled by the ext4 driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) config EXT3_FS_SECURITY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) bool "Ext3 Security Labels"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) depends on EXT3_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) select EXT4_FS_SECURITY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) This config option is here only for backward compatibility. ext3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) filesystem is now handled by the ext4 driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) config EXT4_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) tristate "The Extended 4 (ext4) filesystem"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) select JBD2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) select CRC16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) select CRYPTO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) select CRYPTO_CRC32C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) select FS_IOMAP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) This is the next generation of the ext3 filesystem.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) Unlike the change from ext2 filesystem to ext3 filesystem,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) the on-disk format of ext4 is not forwards compatible with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) ext3; it is based on extent maps and it supports 48-bit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) physical block numbers. The ext4 filesystem also supports delayed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) allocation, persistent preallocation, high resolution time stamps,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) and a number of other features to improve performance and speed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) up fsck time. For more information, please see the web pages at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) http://ext4.wiki.kernel.org.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) The ext4 filesystem supports mounting an ext3 filesystem; while there
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) are some performance gains from the delayed allocation and inode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) table readahead, the best performance gains require enabling ext4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) features in the filesystem using tune2fs, or formatting a new
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) filesystem as an ext4 filesystem initially. Without explicit enabling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) of ext4 features, the on disk filesystem format stays fully backward
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) compatible.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) To compile this file system support as a module, choose M here. The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) module will be called ext4.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) config EXT4_USE_FOR_EXT2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) bool "Use ext4 for ext2 file systems"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) depends on EXT4_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) depends on EXT2_FS=n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) Allow the ext4 file system driver code to be used for ext2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) file system mounts. This allows users to reduce their
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) compiled kernel size by using one file system driver for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) ext2, ext3, and ext4 file systems.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) config EXT4_FS_POSIX_ACL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) bool "Ext4 POSIX Access Control Lists"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) depends on EXT4_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) select FS_POSIX_ACL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) POSIX Access Control Lists (ACLs) support permissions for users and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) groups beyond the owner/group/world scheme.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) If you don't know what Access Control Lists are, say N
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) config EXT4_FS_SECURITY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) bool "Ext4 Security Labels"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) depends on EXT4_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) Security labels support alternative access control models
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) implemented by security modules like SELinux. This option
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) enables an extended attribute handler for file security
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) labels in the ext4 filesystem.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) If you are not using a security module that requires using
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) extended attributes for file security labels, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) config EXT4_DEBUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) bool "Ext4 debugging support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) depends on EXT4_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) Enables run-time debugging support for the ext4 filesystem.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) If you select Y here, then you will be able to turn on debugging
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) using dynamic debug control for mb_debug() / ext_debug() msgs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) config EXT4_KUNIT_TESTS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) tristate "KUnit tests for ext4" if !KUNIT_ALL_TESTS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) depends on EXT4_FS && KUNIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) default KUNIT_ALL_TESTS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) This builds the ext4 KUnit tests.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) KUnit tests run during boot and output the results to the debug log
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) in TAP format (https://testanything.org/). Only useful for kernel devs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) running KUnit test harness and are not for inclusion into a production
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) build.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) For more information on KUnit and unit tests in general please refer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) to the KUnit documentation in Documentation/dev-tools/kunit/.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) If unsure, say N.