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