xref: /openbmc/linux/fs/ext4/Kconfig (revision 925c86a1)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2c290ea01SJan Kara# Ext3 configs are here for backward compatibility with old configs which may
3c290ea01SJan Kara# have EXT3_FS set but not EXT4_FS set and thus would result in non-bootable
4c290ea01SJan Kara# kernels after the removal of ext3 driver.
5c290ea01SJan Karaconfig EXT3_FS
6c290ea01SJan Kara	tristate "The Extended 3 (ext3) filesystem"
7c290ea01SJan Kara	select EXT4_FS
8c290ea01SJan Kara	help
9c290ea01SJan Kara	  This config option is here only for backward compatibility. ext3
10c290ea01SJan Kara	  filesystem is now handled by the ext4 driver.
11c290ea01SJan Kara
12c290ea01SJan Karaconfig EXT3_FS_POSIX_ACL
13c290ea01SJan Kara	bool "Ext3 POSIX Access Control Lists"
14c290ea01SJan Kara	depends on EXT3_FS
15c290ea01SJan Kara	select EXT4_FS_POSIX_ACL
16c290ea01SJan Kara	select FS_POSIX_ACL
17c290ea01SJan Kara	help
18c290ea01SJan Kara	  This config option is here only for backward compatibility. ext3
19c290ea01SJan Kara	  filesystem is now handled by the ext4 driver.
20c290ea01SJan Kara
21c290ea01SJan Karaconfig EXT3_FS_SECURITY
22c290ea01SJan Kara	bool "Ext3 Security Labels"
23c290ea01SJan Kara	depends on EXT3_FS
24c290ea01SJan Kara	select EXT4_FS_SECURITY
25c290ea01SJan Kara	help
26c290ea01SJan Kara	  This config option is here only for backward compatibility. ext3
27c290ea01SJan Kara	  filesystem is now handled by the ext4 driver.
28c290ea01SJan Kara
296da0b38fSAlexey Dobriyanconfig EXT4_FS
306da0b38fSAlexey Dobriyan	tristate "The Extended 4 (ext4) filesystem"
31*925c86a1SChristoph Hellwig	select BUFFER_HEAD
326da0b38fSAlexey Dobriyan	select JBD2
336da0b38fSAlexey Dobriyan	select CRC16
340441984aSDarrick J. Wong	select CRYPTO
350441984aSDarrick J. Wong	select CRYPTO_CRC32C
36545052e9SChristoph Hellwig	select FS_IOMAP
37ede7a09fSHerbert Xu	select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
386da0b38fSAlexey Dobriyan	help
396da0b38fSAlexey Dobriyan	  This is the next generation of the ext3 filesystem.
406da0b38fSAlexey Dobriyan
416da0b38fSAlexey Dobriyan	  Unlike the change from ext2 filesystem to ext3 filesystem,
426da0b38fSAlexey Dobriyan	  the on-disk format of ext4 is not forwards compatible with
436da0b38fSAlexey Dobriyan	  ext3; it is based on extent maps and it supports 48-bit
446da0b38fSAlexey Dobriyan	  physical block numbers.  The ext4 filesystem also supports delayed
456da0b38fSAlexey Dobriyan	  allocation, persistent preallocation, high resolution time stamps,
466da0b38fSAlexey Dobriyan	  and a number of other features to improve performance and speed
476da0b38fSAlexey Dobriyan	  up fsck time.  For more information, please see the web pages at
486da0b38fSAlexey Dobriyan	  http://ext4.wiki.kernel.org.
496da0b38fSAlexey Dobriyan
50c8962f4bSJan Kara	  The ext4 filesystem supports mounting an ext3 filesystem; while there
51c8962f4bSJan Kara	  are some performance gains from the delayed allocation and inode
52c8962f4bSJan Kara	  table readahead, the best performance gains require enabling ext4
53c8962f4bSJan Kara	  features in the filesystem using tune2fs, or formatting a new
54c8962f4bSJan Kara	  filesystem as an ext4 filesystem initially. Without explicit enabling
55c8962f4bSJan Kara	  of ext4 features, the on disk filesystem format stays fully backward
56c8962f4bSJan Kara	  compatible.
576da0b38fSAlexey Dobriyan
586da0b38fSAlexey Dobriyan	  To compile this file system support as a module, choose M here. The
596da0b38fSAlexey Dobriyan	  module will be called ext4.
606da0b38fSAlexey Dobriyan
616da0b38fSAlexey Dobriyan	  If unsure, say N.
626da0b38fSAlexey Dobriyan
63c290ea01SJan Karaconfig EXT4_USE_FOR_EXT2
64d4eb6deeSJean Delvare	bool "Use ext4 for ext2 file systems"
6584c66473SDavid Howells	depends on EXT4_FS
66c290ea01SJan Kara	depends on EXT2_FS=n
6724b58424STheodore Ts'o	default y
6824b58424STheodore Ts'o	help
69c290ea01SJan Kara	  Allow the ext4 file system driver code to be used for ext2
70c290ea01SJan Kara	  file system mounts.  This allows users to reduce their
7124b58424STheodore Ts'o	  compiled kernel size by using one file system driver for
7224b58424STheodore Ts'o	  ext2, ext3, and ext4 file systems.
7324b58424STheodore Ts'o
746da0b38fSAlexey Dobriyanconfig EXT4_FS_POSIX_ACL
756da0b38fSAlexey Dobriyan	bool "Ext4 POSIX Access Control Lists"
7696465efeSValerie Aurora	depends on EXT4_FS
776da0b38fSAlexey Dobriyan	select FS_POSIX_ACL
786da0b38fSAlexey Dobriyan	help
796da0b38fSAlexey Dobriyan	  POSIX Access Control Lists (ACLs) support permissions for users and
806da0b38fSAlexey Dobriyan	  groups beyond the owner/group/world scheme.
816da0b38fSAlexey Dobriyan
826da0b38fSAlexey Dobriyan	  If you don't know what Access Control Lists are, say N
836da0b38fSAlexey Dobriyan
846da0b38fSAlexey Dobriyanconfig EXT4_FS_SECURITY
856da0b38fSAlexey Dobriyan	bool "Ext4 Security Labels"
8696465efeSValerie Aurora	depends on EXT4_FS
876da0b38fSAlexey Dobriyan	help
886da0b38fSAlexey Dobriyan	  Security labels support alternative access control models
896da0b38fSAlexey Dobriyan	  implemented by security modules like SELinux.  This option
906da0b38fSAlexey Dobriyan	  enables an extended attribute handler for file security
916da0b38fSAlexey Dobriyan	  labels in the ext4 filesystem.
926da0b38fSAlexey Dobriyan
936da0b38fSAlexey Dobriyan	  If you are not using a security module that requires using
946da0b38fSAlexey Dobriyan	  extended attributes for file security labels, say N.
956ba495e9STheodore Ts'o
966ba495e9STheodore Ts'oconfig EXT4_DEBUG
97231fe82bSGeert Uytterhoeven	bool "Ext4 debugging support"
986ba495e9STheodore Ts'o	depends on EXT4_FS
996ba495e9STheodore Ts'o	help
1006ba495e9STheodore Ts'o	  Enables run-time debugging support for the ext4 filesystem.
1016ba495e9STheodore Ts'o
1026ba495e9STheodore Ts'o	  If you select Y here, then you will be able to turn on debugging
10370aa1554SRitesh Harjani	  using dynamic debug control for mb_debug() / ext_debug() msgs.
1041cbeab1bSIurii Zaikin
1051cbeab1bSIurii Zaikinconfig EXT4_KUNIT_TESTS
106d194e12bSAnders Roxell	tristate "KUnit tests for ext4" if !KUNIT_ALL_TESTS
107302fdadeSGeert Uytterhoeven	depends on EXT4_FS && KUNIT
108d194e12bSAnders Roxell	default KUNIT_ALL_TESTS
1091cbeab1bSIurii Zaikin	help
1101cbeab1bSIurii Zaikin	  This builds the ext4 KUnit tests.
1111cbeab1bSIurii Zaikin
1121cbeab1bSIurii Zaikin	  KUnit tests run during boot and output the results to the debug log
113e65bf6e4SAlexander A. Klimov	  in TAP format (https://testanything.org/). Only useful for kernel devs
1141cbeab1bSIurii Zaikin	  running KUnit test harness and are not for inclusion into a production
1151cbeab1bSIurii Zaikin	  build.
1161cbeab1bSIurii Zaikin
1171cbeab1bSIurii Zaikin	  For more information on KUnit and unit tests in general please refer
1181cbeab1bSIurii Zaikin	  to the KUnit documentation in Documentation/dev-tools/kunit/.
1191cbeab1bSIurii Zaikin
1201cbeab1bSIurii Zaikin	  If unsure, say N.
121