18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci# Ext3 configs are here for backward compatibility with old configs which may 38c2ecf20Sopenharmony_ci# have EXT3_FS set but not EXT4_FS set and thus would result in non-bootable 48c2ecf20Sopenharmony_ci# kernels after the removal of ext3 driver. 58c2ecf20Sopenharmony_ciconfig EXT3_FS 68c2ecf20Sopenharmony_ci tristate "The Extended 3 (ext3) filesystem" 78c2ecf20Sopenharmony_ci select EXT4_FS 88c2ecf20Sopenharmony_ci help 98c2ecf20Sopenharmony_ci This config option is here only for backward compatibility. ext3 108c2ecf20Sopenharmony_ci filesystem is now handled by the ext4 driver. 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciconfig EXT3_FS_POSIX_ACL 138c2ecf20Sopenharmony_ci bool "Ext3 POSIX Access Control Lists" 148c2ecf20Sopenharmony_ci depends on EXT3_FS 158c2ecf20Sopenharmony_ci select EXT4_FS_POSIX_ACL 168c2ecf20Sopenharmony_ci select FS_POSIX_ACL 178c2ecf20Sopenharmony_ci help 188c2ecf20Sopenharmony_ci This config option is here only for backward compatibility. ext3 198c2ecf20Sopenharmony_ci filesystem is now handled by the ext4 driver. 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciconfig EXT3_FS_SECURITY 228c2ecf20Sopenharmony_ci bool "Ext3 Security Labels" 238c2ecf20Sopenharmony_ci depends on EXT3_FS 248c2ecf20Sopenharmony_ci select EXT4_FS_SECURITY 258c2ecf20Sopenharmony_ci help 268c2ecf20Sopenharmony_ci This config option is here only for backward compatibility. ext3 278c2ecf20Sopenharmony_ci filesystem is now handled by the ext4 driver. 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ciconfig EXT4_FS 308c2ecf20Sopenharmony_ci tristate "The Extended 4 (ext4) filesystem" 318c2ecf20Sopenharmony_ci select JBD2 328c2ecf20Sopenharmony_ci select CRC16 338c2ecf20Sopenharmony_ci select CRYPTO 348c2ecf20Sopenharmony_ci select CRYPTO_CRC32C 358c2ecf20Sopenharmony_ci select FS_IOMAP 368c2ecf20Sopenharmony_ci select FS_ENCRYPTION_ALGS if FS_ENCRYPTION 378c2ecf20Sopenharmony_ci help 388c2ecf20Sopenharmony_ci This is the next generation of the ext3 filesystem. 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci Unlike the change from ext2 filesystem to ext3 filesystem, 418c2ecf20Sopenharmony_ci the on-disk format of ext4 is not forwards compatible with 428c2ecf20Sopenharmony_ci ext3; it is based on extent maps and it supports 48-bit 438c2ecf20Sopenharmony_ci physical block numbers. The ext4 filesystem also supports delayed 448c2ecf20Sopenharmony_ci allocation, persistent preallocation, high resolution time stamps, 458c2ecf20Sopenharmony_ci and a number of other features to improve performance and speed 468c2ecf20Sopenharmony_ci up fsck time. For more information, please see the web pages at 478c2ecf20Sopenharmony_ci http://ext4.wiki.kernel.org. 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci The ext4 filesystem supports mounting an ext3 filesystem; while there 508c2ecf20Sopenharmony_ci are some performance gains from the delayed allocation and inode 518c2ecf20Sopenharmony_ci table readahead, the best performance gains require enabling ext4 528c2ecf20Sopenharmony_ci features in the filesystem using tune2fs, or formatting a new 538c2ecf20Sopenharmony_ci filesystem as an ext4 filesystem initially. Without explicit enabling 548c2ecf20Sopenharmony_ci of ext4 features, the on disk filesystem format stays fully backward 558c2ecf20Sopenharmony_ci compatible. 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci To compile this file system support as a module, choose M here. The 588c2ecf20Sopenharmony_ci module will be called ext4. 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ci If unsure, say N. 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ciconfig EXT4_USE_FOR_EXT2 638c2ecf20Sopenharmony_ci bool "Use ext4 for ext2 file systems" 648c2ecf20Sopenharmony_ci depends on EXT4_FS 658c2ecf20Sopenharmony_ci depends on EXT2_FS=n 668c2ecf20Sopenharmony_ci default y 678c2ecf20Sopenharmony_ci help 688c2ecf20Sopenharmony_ci Allow the ext4 file system driver code to be used for ext2 698c2ecf20Sopenharmony_ci file system mounts. This allows users to reduce their 708c2ecf20Sopenharmony_ci compiled kernel size by using one file system driver for 718c2ecf20Sopenharmony_ci ext2, ext3, and ext4 file systems. 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ciconfig EXT4_FS_POSIX_ACL 748c2ecf20Sopenharmony_ci bool "Ext4 POSIX Access Control Lists" 758c2ecf20Sopenharmony_ci depends on EXT4_FS 768c2ecf20Sopenharmony_ci select FS_POSIX_ACL 778c2ecf20Sopenharmony_ci help 788c2ecf20Sopenharmony_ci POSIX Access Control Lists (ACLs) support permissions for users and 798c2ecf20Sopenharmony_ci groups beyond the owner/group/world scheme. 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ci If you don't know what Access Control Lists are, say N 828c2ecf20Sopenharmony_ci 838c2ecf20Sopenharmony_ciconfig EXT4_FS_SECURITY 848c2ecf20Sopenharmony_ci bool "Ext4 Security Labels" 858c2ecf20Sopenharmony_ci depends on EXT4_FS 868c2ecf20Sopenharmony_ci help 878c2ecf20Sopenharmony_ci Security labels support alternative access control models 888c2ecf20Sopenharmony_ci implemented by security modules like SELinux. This option 898c2ecf20Sopenharmony_ci enables an extended attribute handler for file security 908c2ecf20Sopenharmony_ci labels in the ext4 filesystem. 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ci If you are not using a security module that requires using 938c2ecf20Sopenharmony_ci extended attributes for file security labels, say N. 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ciconfig EXT4_DEBUG 968c2ecf20Sopenharmony_ci bool "Ext4 debugging support" 978c2ecf20Sopenharmony_ci depends on EXT4_FS 988c2ecf20Sopenharmony_ci help 998c2ecf20Sopenharmony_ci Enables run-time debugging support for the ext4 filesystem. 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ci If you select Y here, then you will be able to turn on debugging 1028c2ecf20Sopenharmony_ci using dynamic debug control for mb_debug() / ext_debug() msgs. 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ciconfig EXT4_KUNIT_TESTS 1058c2ecf20Sopenharmony_ci tristate "KUnit tests for ext4" if !KUNIT_ALL_TESTS 1068c2ecf20Sopenharmony_ci depends on EXT4_FS && KUNIT 1078c2ecf20Sopenharmony_ci default KUNIT_ALL_TESTS 1088c2ecf20Sopenharmony_ci help 1098c2ecf20Sopenharmony_ci This builds the ext4 KUnit tests. 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci KUnit tests run during boot and output the results to the debug log 1128c2ecf20Sopenharmony_ci in TAP format (https://testanything.org/). Only useful for kernel devs 1138c2ecf20Sopenharmony_ci running KUnit test harness and are not for inclusion into a production 1148c2ecf20Sopenharmony_ci build. 1158c2ecf20Sopenharmony_ci 1168c2ecf20Sopenharmony_ci For more information on KUnit and unit tests in general please refer 1178c2ecf20Sopenharmony_ci to the KUnit documentation in Documentation/dev-tools/kunit/. 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ci If unsure, say N. 120