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