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