1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 26da0b38fSAlexey Dobriyanconfig EXT4_FS 36da0b38fSAlexey Dobriyan tristate "The Extended 4 (ext4) filesystem" 4925c86a1SChristoph Hellwig select BUFFER_HEAD 56da0b38fSAlexey Dobriyan select JBD2 66da0b38fSAlexey Dobriyan select CRC16 7*f2b4fa19SEric Biggers select CRC32 8545052e9SChristoph Hellwig select FS_IOMAP 9ede7a09fSHerbert Xu select FS_ENCRYPTION_ALGS if FS_ENCRYPTION 106da0b38fSAlexey Dobriyan help 116da0b38fSAlexey Dobriyan This is the next generation of the ext3 filesystem. 126da0b38fSAlexey Dobriyan 136da0b38fSAlexey Dobriyan Unlike the change from ext2 filesystem to ext3 filesystem, 146da0b38fSAlexey Dobriyan the on-disk format of ext4 is not forwards compatible with 156da0b38fSAlexey Dobriyan ext3; it is based on extent maps and it supports 48-bit 166da0b38fSAlexey Dobriyan physical block numbers. The ext4 filesystem also supports delayed 176da0b38fSAlexey Dobriyan allocation, persistent preallocation, high resolution time stamps, 186da0b38fSAlexey Dobriyan and a number of other features to improve performance and speed 196da0b38fSAlexey Dobriyan up fsck time. For more information, please see the web pages at 206da0b38fSAlexey Dobriyan http://ext4.wiki.kernel.org. 216da0b38fSAlexey Dobriyan 22c8962f4bSJan Kara The ext4 filesystem supports mounting an ext3 filesystem; while there 23c8962f4bSJan Kara are some performance gains from the delayed allocation and inode 24c8962f4bSJan Kara table readahead, the best performance gains require enabling ext4 25c8962f4bSJan Kara features in the filesystem using tune2fs, or formatting a new 26c8962f4bSJan Kara filesystem as an ext4 filesystem initially. Without explicit enabling 27c8962f4bSJan Kara of ext4 features, the on disk filesystem format stays fully backward 28c8962f4bSJan Kara compatible. 296da0b38fSAlexey Dobriyan 306da0b38fSAlexey Dobriyan To compile this file system support as a module, choose M here. The 316da0b38fSAlexey Dobriyan module will be called ext4. 326da0b38fSAlexey Dobriyan 336da0b38fSAlexey Dobriyan If unsure, say N. 346da0b38fSAlexey Dobriyan 35c290ea01SJan Karaconfig EXT4_USE_FOR_EXT2 36d4eb6deeSJean Delvare bool "Use ext4 for ext2 file systems" 3784c66473SDavid Howells depends on EXT4_FS 38c290ea01SJan Kara depends on EXT2_FS=n 3924b58424STheodore Ts'o default y 4024b58424STheodore Ts'o help 41c290ea01SJan Kara Allow the ext4 file system driver code to be used for ext2 42c290ea01SJan Kara file system mounts. This allows users to reduce their 4324b58424STheodore Ts'o compiled kernel size by using one file system driver for 4424b58424STheodore Ts'o ext2, ext3, and ext4 file systems. 4524b58424STheodore Ts'o 466da0b38fSAlexey Dobriyanconfig EXT4_FS_POSIX_ACL 476da0b38fSAlexey Dobriyan bool "Ext4 POSIX Access Control Lists" 4896465efeSValerie Aurora depends on EXT4_FS 496da0b38fSAlexey Dobriyan select FS_POSIX_ACL 506da0b38fSAlexey Dobriyan help 516da0b38fSAlexey Dobriyan POSIX Access Control Lists (ACLs) support permissions for users and 526da0b38fSAlexey Dobriyan groups beyond the owner/group/world scheme. 536da0b38fSAlexey Dobriyan 546da0b38fSAlexey Dobriyan If you don't know what Access Control Lists are, say N 556da0b38fSAlexey Dobriyan 566da0b38fSAlexey Dobriyanconfig EXT4_FS_SECURITY 576da0b38fSAlexey Dobriyan bool "Ext4 Security Labels" 5896465efeSValerie Aurora depends on EXT4_FS 596da0b38fSAlexey Dobriyan help 606da0b38fSAlexey Dobriyan Security labels support alternative access control models 616da0b38fSAlexey Dobriyan implemented by security modules like SELinux. This option 626da0b38fSAlexey Dobriyan enables an extended attribute handler for file security 636da0b38fSAlexey Dobriyan labels in the ext4 filesystem. 646da0b38fSAlexey Dobriyan 656da0b38fSAlexey Dobriyan If you are not using a security module that requires using 666da0b38fSAlexey Dobriyan extended attributes for file security labels, say N. 676ba495e9STheodore Ts'o 686ba495e9STheodore Ts'oconfig EXT4_DEBUG 69231fe82bSGeert Uytterhoeven bool "Ext4 debugging support" 706ba495e9STheodore Ts'o depends on EXT4_FS 716ba495e9STheodore Ts'o help 726ba495e9STheodore Ts'o Enables run-time debugging support for the ext4 filesystem. 736ba495e9STheodore Ts'o 746ba495e9STheodore Ts'o If you select Y here, then you will be able to turn on debugging 7570aa1554SRitesh Harjani using dynamic debug control for mb_debug() / ext_debug() msgs. 761cbeab1bSIurii Zaikin 771cbeab1bSIurii Zaikinconfig EXT4_KUNIT_TESTS 78d194e12bSAnders Roxell tristate "KUnit tests for ext4" if !KUNIT_ALL_TESTS 79302fdadeSGeert Uytterhoeven depends on EXT4_FS && KUNIT 80d194e12bSAnders Roxell default KUNIT_ALL_TESTS 811cbeab1bSIurii Zaikin help 821cbeab1bSIurii Zaikin This builds the ext4 KUnit tests. 831cbeab1bSIurii Zaikin 841cbeab1bSIurii Zaikin KUnit tests run during boot and output the results to the debug log 85e65bf6e4SAlexander A. Klimov in TAP format (https://testanything.org/). Only useful for kernel devs 861cbeab1bSIurii Zaikin running KUnit test harness and are not for inclusion into a production 871cbeab1bSIurii Zaikin build. 881cbeab1bSIurii Zaikin 891cbeab1bSIurii Zaikin For more information on KUnit and unit tests in general please refer 901cbeab1bSIurii Zaikin to the KUnit documentation in Documentation/dev-tools/kunit/. 911cbeab1bSIurii Zaikin 921cbeab1bSIurii Zaikin If unsure, say N. 93