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