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