|  | # SPDX-License-Identifier: GPL-2.0-only | 
|  | config EXT4_FS | 
|  | tristate "The Extended 4 (ext4) filesystem" | 
|  | select BUFFER_HEAD | 
|  | select JBD2 | 
|  | select CRC16 | 
|  | select CRC32 | 
|  | select FS_IOMAP | 
|  | select FS_ENCRYPTION_ALGS if FS_ENCRYPTION | 
|  | help | 
|  | This is the next generation of the ext3 filesystem. | 
|  |  | 
|  | Unlike the change from ext2 filesystem to ext3 filesystem, | 
|  | the on-disk format of ext4 is not forwards compatible with | 
|  | ext3; it is based on extent maps and it supports 48-bit | 
|  | physical block numbers.  The ext4 filesystem also supports delayed | 
|  | allocation, persistent preallocation, high resolution time stamps, | 
|  | and a number of other features to improve performance and speed | 
|  | up fsck time.  For more information, please see the web pages at | 
|  | http://ext4.wiki.kernel.org. | 
|  |  | 
|  | The ext4 filesystem supports mounting an ext3 filesystem; while there | 
|  | are some performance gains from the delayed allocation and inode | 
|  | table readahead, the best performance gains require enabling ext4 | 
|  | features in the filesystem using tune2fs, or formatting a new | 
|  | filesystem as an ext4 filesystem initially. Without explicit enabling | 
|  | of ext4 features, the on disk filesystem format stays fully backward | 
|  | compatible. | 
|  |  | 
|  | To compile this file system support as a module, choose M here. The | 
|  | module will be called ext4. | 
|  |  | 
|  | If unsure, say N. | 
|  |  | 
|  | config EXT4_USE_FOR_EXT2 | 
|  | bool "Use ext4 for ext2 file systems" | 
|  | depends on EXT4_FS | 
|  | depends on EXT2_FS=n | 
|  | default y | 
|  | help | 
|  | Allow the ext4 file system driver code to be used for ext2 | 
|  | file system mounts.  This allows users to reduce their | 
|  | compiled kernel size by using one file system driver for | 
|  | ext2, ext3, and ext4 file systems. | 
|  |  | 
|  | config EXT4_FS_POSIX_ACL | 
|  | bool "Ext4 POSIX Access Control Lists" | 
|  | depends on EXT4_FS | 
|  | select FS_POSIX_ACL | 
|  | help | 
|  | POSIX Access Control Lists (ACLs) support permissions for users and | 
|  | groups beyond the owner/group/world scheme. | 
|  |  | 
|  | If you don't know what Access Control Lists are, say N | 
|  |  | 
|  | config EXT4_FS_SECURITY | 
|  | bool "Ext4 Security Labels" | 
|  | depends on EXT4_FS | 
|  | help | 
|  | Security labels support alternative access control models | 
|  | implemented by security modules like SELinux.  This option | 
|  | enables an extended attribute handler for file security | 
|  | labels in the ext4 filesystem. | 
|  |  | 
|  | If you are not using a security module that requires using | 
|  | extended attributes for file security labels, say N. | 
|  |  | 
|  | config EXT4_DEBUG | 
|  | bool "Ext4 debugging support" | 
|  | depends on EXT4_FS | 
|  | help | 
|  | Enables run-time debugging support for the ext4 filesystem. | 
|  |  | 
|  | If you select Y here, then you will be able to turn on debugging | 
|  | using dynamic debug control for mb_debug() / ext_debug() msgs. | 
|  |  | 
|  | config EXT4_KUNIT_TESTS | 
|  | tristate "KUnit tests for ext4" if !KUNIT_ALL_TESTS | 
|  | depends on EXT4_FS && KUNIT | 
|  | default KUNIT_ALL_TESTS | 
|  | help | 
|  | This builds the ext4 KUnit tests. | 
|  |  | 
|  | KUnit tests run during boot and output the results to the debug log | 
|  | in TAP format (https://testanything.org/). Only useful for kernel devs | 
|  | running KUnit test harness and are not for inclusion into a production | 
|  | build. | 
|  |  | 
|  | For more information on KUnit and unit tests in general please refer | 
|  | to the KUnit documentation in Documentation/dev-tools/kunit/. | 
|  |  | 
|  | If unsure, say N. |