162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci# Ext3 configs are here for backward compatibility with old configs which may 362306a36Sopenharmony_ci# have EXT3_FS set but not EXT4_FS set and thus would result in non-bootable 462306a36Sopenharmony_ci# kernels after the removal of ext3 driver. 562306a36Sopenharmony_ciconfig EXT3_FS 662306a36Sopenharmony_ci tristate "The Extended 3 (ext3) filesystem" 762306a36Sopenharmony_ci select EXT4_FS 862306a36Sopenharmony_ci help 962306a36Sopenharmony_ci This config option is here only for backward compatibility. ext3 1062306a36Sopenharmony_ci filesystem is now handled by the ext4 driver. 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciconfig EXT3_FS_POSIX_ACL 1362306a36Sopenharmony_ci bool "Ext3 POSIX Access Control Lists" 1462306a36Sopenharmony_ci depends on EXT3_FS 1562306a36Sopenharmony_ci select EXT4_FS_POSIX_ACL 1662306a36Sopenharmony_ci select FS_POSIX_ACL 1762306a36Sopenharmony_ci help 1862306a36Sopenharmony_ci This config option is here only for backward compatibility. ext3 1962306a36Sopenharmony_ci filesystem is now handled by the ext4 driver. 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ciconfig EXT3_FS_SECURITY 2262306a36Sopenharmony_ci bool "Ext3 Security Labels" 2362306a36Sopenharmony_ci depends on EXT3_FS 2462306a36Sopenharmony_ci select EXT4_FS_SECURITY 2562306a36Sopenharmony_ci help 2662306a36Sopenharmony_ci This config option is here only for backward compatibility. ext3 2762306a36Sopenharmony_ci filesystem is now handled by the ext4 driver. 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciconfig EXT4_FS 3062306a36Sopenharmony_ci tristate "The Extended 4 (ext4) filesystem" 3162306a36Sopenharmony_ci select BUFFER_HEAD 3262306a36Sopenharmony_ci select JBD2 3362306a36Sopenharmony_ci select CRC16 3462306a36Sopenharmony_ci select CRYPTO 3562306a36Sopenharmony_ci select CRYPTO_CRC32C 3662306a36Sopenharmony_ci select FS_IOMAP 3762306a36Sopenharmony_ci select FS_ENCRYPTION_ALGS if FS_ENCRYPTION 3862306a36Sopenharmony_ci help 3962306a36Sopenharmony_ci This is the next generation of the ext3 filesystem. 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci Unlike the change from ext2 filesystem to ext3 filesystem, 4262306a36Sopenharmony_ci the on-disk format of ext4 is not forwards compatible with 4362306a36Sopenharmony_ci ext3; it is based on extent maps and it supports 48-bit 4462306a36Sopenharmony_ci physical block numbers. The ext4 filesystem also supports delayed 4562306a36Sopenharmony_ci allocation, persistent preallocation, high resolution time stamps, 4662306a36Sopenharmony_ci and a number of other features to improve performance and speed 4762306a36Sopenharmony_ci up fsck time. For more information, please see the web pages at 4862306a36Sopenharmony_ci http://ext4.wiki.kernel.org. 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci The ext4 filesystem supports mounting an ext3 filesystem; while there 5162306a36Sopenharmony_ci are some performance gains from the delayed allocation and inode 5262306a36Sopenharmony_ci table readahead, the best performance gains require enabling ext4 5362306a36Sopenharmony_ci features in the filesystem using tune2fs, or formatting a new 5462306a36Sopenharmony_ci filesystem as an ext4 filesystem initially. Without explicit enabling 5562306a36Sopenharmony_ci of ext4 features, the on disk filesystem format stays fully backward 5662306a36Sopenharmony_ci compatible. 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci To compile this file system support as a module, choose M here. The 5962306a36Sopenharmony_ci module will be called ext4. 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci If unsure, say N. 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ciconfig EXT4_USE_FOR_EXT2 6462306a36Sopenharmony_ci bool "Use ext4 for ext2 file systems" 6562306a36Sopenharmony_ci depends on EXT4_FS 6662306a36Sopenharmony_ci depends on EXT2_FS=n 6762306a36Sopenharmony_ci default y 6862306a36Sopenharmony_ci help 6962306a36Sopenharmony_ci Allow the ext4 file system driver code to be used for ext2 7062306a36Sopenharmony_ci file system mounts. This allows users to reduce their 7162306a36Sopenharmony_ci compiled kernel size by using one file system driver for 7262306a36Sopenharmony_ci ext2, ext3, and ext4 file systems. 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ciconfig EXT4_FS_POSIX_ACL 7562306a36Sopenharmony_ci bool "Ext4 POSIX Access Control Lists" 7662306a36Sopenharmony_ci depends on EXT4_FS 7762306a36Sopenharmony_ci select FS_POSIX_ACL 7862306a36Sopenharmony_ci help 7962306a36Sopenharmony_ci POSIX Access Control Lists (ACLs) support permissions for users and 8062306a36Sopenharmony_ci groups beyond the owner/group/world scheme. 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci If you don't know what Access Control Lists are, say N 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ciconfig EXT4_FS_SECURITY 8562306a36Sopenharmony_ci bool "Ext4 Security Labels" 8662306a36Sopenharmony_ci depends on EXT4_FS 8762306a36Sopenharmony_ci help 8862306a36Sopenharmony_ci Security labels support alternative access control models 8962306a36Sopenharmony_ci implemented by security modules like SELinux. This option 9062306a36Sopenharmony_ci enables an extended attribute handler for file security 9162306a36Sopenharmony_ci labels in the ext4 filesystem. 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci If you are not using a security module that requires using 9462306a36Sopenharmony_ci extended attributes for file security labels, say N. 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ciconfig EXT4_DEBUG 9762306a36Sopenharmony_ci bool "Ext4 debugging support" 9862306a36Sopenharmony_ci depends on EXT4_FS 9962306a36Sopenharmony_ci help 10062306a36Sopenharmony_ci Enables run-time debugging support for the ext4 filesystem. 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci If you select Y here, then you will be able to turn on debugging 10362306a36Sopenharmony_ci using dynamic debug control for mb_debug() / ext_debug() msgs. 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ciconfig EXT4_KUNIT_TESTS 10662306a36Sopenharmony_ci tristate "KUnit tests for ext4" if !KUNIT_ALL_TESTS 10762306a36Sopenharmony_ci depends on EXT4_FS && KUNIT 10862306a36Sopenharmony_ci default KUNIT_ALL_TESTS 10962306a36Sopenharmony_ci help 11062306a36Sopenharmony_ci This builds the ext4 KUnit tests. 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ci KUnit tests run during boot and output the results to the debug log 11362306a36Sopenharmony_ci in TAP format (https://testanything.org/). Only useful for kernel devs 11462306a36Sopenharmony_ci running KUnit test harness and are not for inclusion into a production 11562306a36Sopenharmony_ci build. 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci For more information on KUnit and unit tests in general please refer 11862306a36Sopenharmony_ci to the KUnit documentation in Documentation/dev-tools/kunit/. 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci If unsure, say N. 121