18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci# Ext3 configs are here for backward compatibility with old configs which may
38c2ecf20Sopenharmony_ci# have EXT3_FS set but not EXT4_FS set and thus would result in non-bootable
48c2ecf20Sopenharmony_ci# kernels after the removal of ext3 driver.
58c2ecf20Sopenharmony_ciconfig EXT3_FS
68c2ecf20Sopenharmony_ci	tristate "The Extended 3 (ext3) filesystem"
78c2ecf20Sopenharmony_ci	select EXT4_FS
88c2ecf20Sopenharmony_ci	help
98c2ecf20Sopenharmony_ci	  This config option is here only for backward compatibility. ext3
108c2ecf20Sopenharmony_ci	  filesystem is now handled by the ext4 driver.
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciconfig EXT3_FS_POSIX_ACL
138c2ecf20Sopenharmony_ci	bool "Ext3 POSIX Access Control Lists"
148c2ecf20Sopenharmony_ci	depends on EXT3_FS
158c2ecf20Sopenharmony_ci	select EXT4_FS_POSIX_ACL
168c2ecf20Sopenharmony_ci	select FS_POSIX_ACL
178c2ecf20Sopenharmony_ci	help
188c2ecf20Sopenharmony_ci	  This config option is here only for backward compatibility. ext3
198c2ecf20Sopenharmony_ci	  filesystem is now handled by the ext4 driver.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciconfig EXT3_FS_SECURITY
228c2ecf20Sopenharmony_ci	bool "Ext3 Security Labels"
238c2ecf20Sopenharmony_ci	depends on EXT3_FS
248c2ecf20Sopenharmony_ci	select EXT4_FS_SECURITY
258c2ecf20Sopenharmony_ci	help
268c2ecf20Sopenharmony_ci	  This config option is here only for backward compatibility. ext3
278c2ecf20Sopenharmony_ci	  filesystem is now handled by the ext4 driver.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciconfig EXT4_FS
308c2ecf20Sopenharmony_ci	tristate "The Extended 4 (ext4) filesystem"
318c2ecf20Sopenharmony_ci	select JBD2
328c2ecf20Sopenharmony_ci	select CRC16
338c2ecf20Sopenharmony_ci	select CRYPTO
348c2ecf20Sopenharmony_ci	select CRYPTO_CRC32C
358c2ecf20Sopenharmony_ci	select FS_IOMAP
368c2ecf20Sopenharmony_ci	select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
378c2ecf20Sopenharmony_ci	help
388c2ecf20Sopenharmony_ci	  This is the next generation of the ext3 filesystem.
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci	  Unlike the change from ext2 filesystem to ext3 filesystem,
418c2ecf20Sopenharmony_ci	  the on-disk format of ext4 is not forwards compatible with
428c2ecf20Sopenharmony_ci	  ext3; it is based on extent maps and it supports 48-bit
438c2ecf20Sopenharmony_ci	  physical block numbers.  The ext4 filesystem also supports delayed
448c2ecf20Sopenharmony_ci	  allocation, persistent preallocation, high resolution time stamps,
458c2ecf20Sopenharmony_ci	  and a number of other features to improve performance and speed
468c2ecf20Sopenharmony_ci	  up fsck time.  For more information, please see the web pages at
478c2ecf20Sopenharmony_ci	  http://ext4.wiki.kernel.org.
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci	  The ext4 filesystem supports mounting an ext3 filesystem; while there
508c2ecf20Sopenharmony_ci	  are some performance gains from the delayed allocation and inode
518c2ecf20Sopenharmony_ci	  table readahead, the best performance gains require enabling ext4
528c2ecf20Sopenharmony_ci	  features in the filesystem using tune2fs, or formatting a new
538c2ecf20Sopenharmony_ci	  filesystem as an ext4 filesystem initially. Without explicit enabling
548c2ecf20Sopenharmony_ci	  of ext4 features, the on disk filesystem format stays fully backward
558c2ecf20Sopenharmony_ci	  compatible.
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci	  To compile this file system support as a module, choose M here. The
588c2ecf20Sopenharmony_ci	  module will be called ext4.
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci	  If unsure, say N.
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ciconfig EXT4_USE_FOR_EXT2
638c2ecf20Sopenharmony_ci	bool "Use ext4 for ext2 file systems"
648c2ecf20Sopenharmony_ci	depends on EXT4_FS
658c2ecf20Sopenharmony_ci	depends on EXT2_FS=n
668c2ecf20Sopenharmony_ci	default y
678c2ecf20Sopenharmony_ci	help
688c2ecf20Sopenharmony_ci	  Allow the ext4 file system driver code to be used for ext2
698c2ecf20Sopenharmony_ci	  file system mounts.  This allows users to reduce their
708c2ecf20Sopenharmony_ci	  compiled kernel size by using one file system driver for
718c2ecf20Sopenharmony_ci	  ext2, ext3, and ext4 file systems.
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ciconfig EXT4_FS_POSIX_ACL
748c2ecf20Sopenharmony_ci	bool "Ext4 POSIX Access Control Lists"
758c2ecf20Sopenharmony_ci	depends on EXT4_FS
768c2ecf20Sopenharmony_ci	select FS_POSIX_ACL
778c2ecf20Sopenharmony_ci	help
788c2ecf20Sopenharmony_ci	  POSIX Access Control Lists (ACLs) support permissions for users and
798c2ecf20Sopenharmony_ci	  groups beyond the owner/group/world scheme.
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ci	  If you don't know what Access Control Lists are, say N
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ciconfig EXT4_FS_SECURITY
848c2ecf20Sopenharmony_ci	bool "Ext4 Security Labels"
858c2ecf20Sopenharmony_ci	depends on EXT4_FS
868c2ecf20Sopenharmony_ci	help
878c2ecf20Sopenharmony_ci	  Security labels support alternative access control models
888c2ecf20Sopenharmony_ci	  implemented by security modules like SELinux.  This option
898c2ecf20Sopenharmony_ci	  enables an extended attribute handler for file security
908c2ecf20Sopenharmony_ci	  labels in the ext4 filesystem.
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ci	  If you are not using a security module that requires using
938c2ecf20Sopenharmony_ci	  extended attributes for file security labels, say N.
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ciconfig EXT4_DEBUG
968c2ecf20Sopenharmony_ci	bool "Ext4 debugging support"
978c2ecf20Sopenharmony_ci	depends on EXT4_FS
988c2ecf20Sopenharmony_ci	help
998c2ecf20Sopenharmony_ci	  Enables run-time debugging support for the ext4 filesystem.
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ci	  If you select Y here, then you will be able to turn on debugging
1028c2ecf20Sopenharmony_ci	  using dynamic debug control for mb_debug() / ext_debug() msgs.
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ciconfig EXT4_KUNIT_TESTS
1058c2ecf20Sopenharmony_ci	tristate "KUnit tests for ext4" if !KUNIT_ALL_TESTS
1068c2ecf20Sopenharmony_ci	depends on EXT4_FS && KUNIT
1078c2ecf20Sopenharmony_ci	default KUNIT_ALL_TESTS
1088c2ecf20Sopenharmony_ci	help
1098c2ecf20Sopenharmony_ci	  This builds the ext4 KUnit tests.
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci	  KUnit tests run during boot and output the results to the debug log
1128c2ecf20Sopenharmony_ci	  in TAP format (https://testanything.org/). Only useful for kernel devs
1138c2ecf20Sopenharmony_ci	  running KUnit test harness and are not for inclusion into a production
1148c2ecf20Sopenharmony_ci	  build.
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ci	  For more information on KUnit and unit tests in general please refer
1178c2ecf20Sopenharmony_ci	  to the KUnit documentation in Documentation/dev-tools/kunit/.
1188c2ecf20Sopenharmony_ci
1198c2ecf20Sopenharmony_ci	  If unsure, say N.
120