18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciconfig BTRFS_FS 48c2ecf20Sopenharmony_ci tristate "Btrfs filesystem support" 58c2ecf20Sopenharmony_ci select CRYPTO 68c2ecf20Sopenharmony_ci select CRYPTO_CRC32C 78c2ecf20Sopenharmony_ci select LIBCRC32C 88c2ecf20Sopenharmony_ci select CRYPTO_XXHASH 98c2ecf20Sopenharmony_ci select CRYPTO_SHA256 108c2ecf20Sopenharmony_ci select CRYPTO_BLAKE2B 118c2ecf20Sopenharmony_ci select ZLIB_INFLATE 128c2ecf20Sopenharmony_ci select ZLIB_DEFLATE 138c2ecf20Sopenharmony_ci select LZO_COMPRESS 148c2ecf20Sopenharmony_ci select LZO_DECOMPRESS 158c2ecf20Sopenharmony_ci select ZSTD_COMPRESS 168c2ecf20Sopenharmony_ci select ZSTD_DECOMPRESS 178c2ecf20Sopenharmony_ci select FS_IOMAP 188c2ecf20Sopenharmony_ci select RAID6_PQ 198c2ecf20Sopenharmony_ci select XOR_BLOCKS 208c2ecf20Sopenharmony_ci select SRCU 218c2ecf20Sopenharmony_ci depends on !PPC_256K_PAGES # powerpc 228c2ecf20Sopenharmony_ci depends on !PAGE_SIZE_256KB # hexagon 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci help 258c2ecf20Sopenharmony_ci Btrfs is a general purpose copy-on-write filesystem with extents, 268c2ecf20Sopenharmony_ci writable snapshotting, support for multiple devices and many more 278c2ecf20Sopenharmony_ci features focused on fault tolerance, repair and easy administration. 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci The filesystem disk format is no longer unstable, and it's not 308c2ecf20Sopenharmony_ci expected to change unless there are strong reasons to do so. If there 318c2ecf20Sopenharmony_ci is a format change, file systems with a unchanged format will 328c2ecf20Sopenharmony_ci continue to be mountable and usable by newer kernels. 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci For more information, please see the web pages at 358c2ecf20Sopenharmony_ci http://btrfs.wiki.kernel.org. 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci To compile this file system support as a module, choose M here. The 388c2ecf20Sopenharmony_ci module will be called btrfs. 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci If unsure, say N. 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ciconfig BTRFS_FS_POSIX_ACL 438c2ecf20Sopenharmony_ci bool "Btrfs POSIX Access Control Lists" 448c2ecf20Sopenharmony_ci depends on BTRFS_FS 458c2ecf20Sopenharmony_ci select FS_POSIX_ACL 468c2ecf20Sopenharmony_ci help 478c2ecf20Sopenharmony_ci POSIX Access Control Lists (ACLs) support permissions for users and 488c2ecf20Sopenharmony_ci groups beyond the owner/group/world scheme. 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci If you don't know what Access Control Lists are, say N 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ciconfig BTRFS_FS_CHECK_INTEGRITY 538c2ecf20Sopenharmony_ci bool "Btrfs with integrity check tool compiled in (DANGEROUS)" 548c2ecf20Sopenharmony_ci depends on BTRFS_FS 558c2ecf20Sopenharmony_ci help 568c2ecf20Sopenharmony_ci Adds code that examines all block write requests (including 578c2ecf20Sopenharmony_ci writes of the super block). The goal is to verify that the 588c2ecf20Sopenharmony_ci state of the filesystem on disk is always consistent, i.e., 598c2ecf20Sopenharmony_ci after a power-loss or kernel panic event the filesystem is 608c2ecf20Sopenharmony_ci in a consistent state. 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ci If the integrity check tool is included and activated in 638c2ecf20Sopenharmony_ci the mount options, plenty of kernel memory is used, and 648c2ecf20Sopenharmony_ci plenty of additional CPU cycles are spent. Enabling this 658c2ecf20Sopenharmony_ci functionality is not intended for normal use. 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci In most cases, unless you are a btrfs developer who needs 688c2ecf20Sopenharmony_ci to verify the integrity of (super)-block write requests 698c2ecf20Sopenharmony_ci during the run of a regression test, say N 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ciconfig BTRFS_FS_RUN_SANITY_TESTS 728c2ecf20Sopenharmony_ci bool "Btrfs will run sanity tests upon loading" 738c2ecf20Sopenharmony_ci depends on BTRFS_FS 748c2ecf20Sopenharmony_ci help 758c2ecf20Sopenharmony_ci This will run some basic sanity tests on the free space cache 768c2ecf20Sopenharmony_ci code to make sure it is acting as it should. These are mostly 778c2ecf20Sopenharmony_ci regression tests and are only really interesting to btrfs 788c2ecf20Sopenharmony_ci developers. 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ci If unsure, say N. 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ciconfig BTRFS_DEBUG 838c2ecf20Sopenharmony_ci bool "Btrfs debugging support" 848c2ecf20Sopenharmony_ci depends on BTRFS_FS 858c2ecf20Sopenharmony_ci help 868c2ecf20Sopenharmony_ci Enable run-time debugging support for the btrfs filesystem. This may 878c2ecf20Sopenharmony_ci enable additional and expensive checks with negative impact on 888c2ecf20Sopenharmony_ci performance, or export extra information via sysfs. 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ci If unsure, say N. 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ciconfig BTRFS_ASSERT 938c2ecf20Sopenharmony_ci bool "Btrfs assert support" 948c2ecf20Sopenharmony_ci depends on BTRFS_FS 958c2ecf20Sopenharmony_ci help 968c2ecf20Sopenharmony_ci Enable run-time assertion checking. This will result in panics if 978c2ecf20Sopenharmony_ci any of the assertions trip. This is meant for btrfs developers only. 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_ci If unsure, say N. 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ciconfig BTRFS_FS_REF_VERIFY 1028c2ecf20Sopenharmony_ci bool "Btrfs with the ref verify tool compiled in" 1038c2ecf20Sopenharmony_ci depends on BTRFS_FS 1048c2ecf20Sopenharmony_ci default n 1058c2ecf20Sopenharmony_ci help 1068c2ecf20Sopenharmony_ci Enable run-time extent reference verification instrumentation. This 1078c2ecf20Sopenharmony_ci is meant to be used by btrfs developers for tracking down extent 1088c2ecf20Sopenharmony_ci reference problems or verifying they didn't break something. 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ci If unsure, say N. 111