xref: /openbmc/linux/fs/ext4/Kconfig (revision ede7a09f)
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	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
68config 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
79config 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
89config 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
101config 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
111config 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.
127