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