xref: /linux/fs/ext4/Kconfig (revision 65989db7f88456273d0913d8d21f6097fa6aad19)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
26da0b38fSAlexey Dobriyanconfig EXT4_FS
36da0b38fSAlexey Dobriyan	tristate "The Extended 4 (ext4) filesystem"
4925c86a1SChristoph Hellwig	select BUFFER_HEAD
56da0b38fSAlexey Dobriyan	select JBD2
66da0b38fSAlexey Dobriyan	select CRC16
7*f2b4fa19SEric Biggers	select CRC32
8545052e9SChristoph Hellwig	select FS_IOMAP
9ede7a09fSHerbert Xu	select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
106da0b38fSAlexey Dobriyan	help
116da0b38fSAlexey Dobriyan	  This is the next generation of the ext3 filesystem.
126da0b38fSAlexey Dobriyan
136da0b38fSAlexey Dobriyan	  Unlike the change from ext2 filesystem to ext3 filesystem,
146da0b38fSAlexey Dobriyan	  the on-disk format of ext4 is not forwards compatible with
156da0b38fSAlexey Dobriyan	  ext3; it is based on extent maps and it supports 48-bit
166da0b38fSAlexey Dobriyan	  physical block numbers.  The ext4 filesystem also supports delayed
176da0b38fSAlexey Dobriyan	  allocation, persistent preallocation, high resolution time stamps,
186da0b38fSAlexey Dobriyan	  and a number of other features to improve performance and speed
196da0b38fSAlexey Dobriyan	  up fsck time.  For more information, please see the web pages at
206da0b38fSAlexey Dobriyan	  http://ext4.wiki.kernel.org.
216da0b38fSAlexey Dobriyan
22c8962f4bSJan Kara	  The ext4 filesystem supports mounting an ext3 filesystem; while there
23c8962f4bSJan Kara	  are some performance gains from the delayed allocation and inode
24c8962f4bSJan Kara	  table readahead, the best performance gains require enabling ext4
25c8962f4bSJan Kara	  features in the filesystem using tune2fs, or formatting a new
26c8962f4bSJan Kara	  filesystem as an ext4 filesystem initially. Without explicit enabling
27c8962f4bSJan Kara	  of ext4 features, the on disk filesystem format stays fully backward
28c8962f4bSJan Kara	  compatible.
296da0b38fSAlexey Dobriyan
306da0b38fSAlexey Dobriyan	  To compile this file system support as a module, choose M here. The
316da0b38fSAlexey Dobriyan	  module will be called ext4.
326da0b38fSAlexey Dobriyan
336da0b38fSAlexey Dobriyan	  If unsure, say N.
346da0b38fSAlexey Dobriyan
35c290ea01SJan Karaconfig EXT4_USE_FOR_EXT2
36d4eb6deeSJean Delvare	bool "Use ext4 for ext2 file systems"
3784c66473SDavid Howells	depends on EXT4_FS
38c290ea01SJan Kara	depends on EXT2_FS=n
3924b58424STheodore Ts'o	default y
4024b58424STheodore Ts'o	help
41c290ea01SJan Kara	  Allow the ext4 file system driver code to be used for ext2
42c290ea01SJan Kara	  file system mounts.  This allows users to reduce their
4324b58424STheodore Ts'o	  compiled kernel size by using one file system driver for
4424b58424STheodore Ts'o	  ext2, ext3, and ext4 file systems.
4524b58424STheodore Ts'o
466da0b38fSAlexey Dobriyanconfig EXT4_FS_POSIX_ACL
476da0b38fSAlexey Dobriyan	bool "Ext4 POSIX Access Control Lists"
4896465efeSValerie Aurora	depends on EXT4_FS
496da0b38fSAlexey Dobriyan	select FS_POSIX_ACL
506da0b38fSAlexey Dobriyan	help
516da0b38fSAlexey Dobriyan	  POSIX Access Control Lists (ACLs) support permissions for users and
526da0b38fSAlexey Dobriyan	  groups beyond the owner/group/world scheme.
536da0b38fSAlexey Dobriyan
546da0b38fSAlexey Dobriyan	  If you don't know what Access Control Lists are, say N
556da0b38fSAlexey Dobriyan
566da0b38fSAlexey Dobriyanconfig EXT4_FS_SECURITY
576da0b38fSAlexey Dobriyan	bool "Ext4 Security Labels"
5896465efeSValerie Aurora	depends on EXT4_FS
596da0b38fSAlexey Dobriyan	help
606da0b38fSAlexey Dobriyan	  Security labels support alternative access control models
616da0b38fSAlexey Dobriyan	  implemented by security modules like SELinux.  This option
626da0b38fSAlexey Dobriyan	  enables an extended attribute handler for file security
636da0b38fSAlexey Dobriyan	  labels in the ext4 filesystem.
646da0b38fSAlexey Dobriyan
656da0b38fSAlexey Dobriyan	  If you are not using a security module that requires using
666da0b38fSAlexey Dobriyan	  extended attributes for file security labels, say N.
676ba495e9STheodore Ts'o
686ba495e9STheodore Ts'oconfig EXT4_DEBUG
69231fe82bSGeert Uytterhoeven	bool "Ext4 debugging support"
706ba495e9STheodore Ts'o	depends on EXT4_FS
716ba495e9STheodore Ts'o	help
726ba495e9STheodore Ts'o	  Enables run-time debugging support for the ext4 filesystem.
736ba495e9STheodore Ts'o
746ba495e9STheodore Ts'o	  If you select Y here, then you will be able to turn on debugging
7570aa1554SRitesh Harjani	  using dynamic debug control for mb_debug() / ext_debug() msgs.
761cbeab1bSIurii Zaikin
771cbeab1bSIurii Zaikinconfig EXT4_KUNIT_TESTS
78d194e12bSAnders Roxell	tristate "KUnit tests for ext4" if !KUNIT_ALL_TESTS
79302fdadeSGeert Uytterhoeven	depends on EXT4_FS && KUNIT
80d194e12bSAnders Roxell	default KUNIT_ALL_TESTS
811cbeab1bSIurii Zaikin	help
821cbeab1bSIurii Zaikin	  This builds the ext4 KUnit tests.
831cbeab1bSIurii Zaikin
841cbeab1bSIurii Zaikin	  KUnit tests run during boot and output the results to the debug log
85e65bf6e4SAlexander A. Klimov	  in TAP format (https://testanything.org/). Only useful for kernel devs
861cbeab1bSIurii Zaikin	  running KUnit test harness and are not for inclusion into a production
871cbeab1bSIurii Zaikin	  build.
881cbeab1bSIurii Zaikin
891cbeab1bSIurii Zaikin	  For more information on KUnit and unit tests in general please refer
901cbeab1bSIurii Zaikin	  to the KUnit documentation in Documentation/dev-tools/kunit/.
911cbeab1bSIurii Zaikin
921cbeab1bSIurii Zaikin	  If unsure, say N.
93