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