162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciconfig BTRFS_FS 462306a36Sopenharmony_ci tristate "Btrfs filesystem support" 562306a36Sopenharmony_ci select BLK_CGROUP_PUNT_BIO 662306a36Sopenharmony_ci select CRYPTO 762306a36Sopenharmony_ci select CRYPTO_CRC32C 862306a36Sopenharmony_ci select LIBCRC32C 962306a36Sopenharmony_ci select CRYPTO_XXHASH 1062306a36Sopenharmony_ci select CRYPTO_SHA256 1162306a36Sopenharmony_ci select CRYPTO_BLAKE2B 1262306a36Sopenharmony_ci select ZLIB_INFLATE 1362306a36Sopenharmony_ci select ZLIB_DEFLATE 1462306a36Sopenharmony_ci select LZO_COMPRESS 1562306a36Sopenharmony_ci select LZO_DECOMPRESS 1662306a36Sopenharmony_ci select ZSTD_COMPRESS 1762306a36Sopenharmony_ci select ZSTD_DECOMPRESS 1862306a36Sopenharmony_ci select FS_IOMAP 1962306a36Sopenharmony_ci select RAID6_PQ 2062306a36Sopenharmony_ci select XOR_BLOCKS 2162306a36Sopenharmony_ci depends on PAGE_SIZE_LESS_THAN_256KB 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci help 2462306a36Sopenharmony_ci Btrfs is a general purpose copy-on-write filesystem with extents, 2562306a36Sopenharmony_ci writable snapshotting, support for multiple devices and many more 2662306a36Sopenharmony_ci features focused on fault tolerance, repair and easy administration. 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci The filesystem disk format is no longer unstable, and it's not 2962306a36Sopenharmony_ci expected to change unless there are strong reasons to do so. If there 3062306a36Sopenharmony_ci is a format change, file systems with a unchanged format will 3162306a36Sopenharmony_ci continue to be mountable and usable by newer kernels. 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci For more information, please see the web pages at 3462306a36Sopenharmony_ci https://btrfs.readthedocs.io 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci To compile this file system support as a module, choose M here. The 3762306a36Sopenharmony_ci module will be called btrfs. 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci If unsure, say N. 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ciconfig BTRFS_FS_POSIX_ACL 4262306a36Sopenharmony_ci bool "Btrfs POSIX Access Control Lists" 4362306a36Sopenharmony_ci depends on BTRFS_FS 4462306a36Sopenharmony_ci select FS_POSIX_ACL 4562306a36Sopenharmony_ci help 4662306a36Sopenharmony_ci POSIX Access Control Lists (ACLs) support permissions for users and 4762306a36Sopenharmony_ci groups beyond the owner/group/world scheme. 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci If you don't know what Access Control Lists are, say N 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ciconfig BTRFS_FS_CHECK_INTEGRITY 5262306a36Sopenharmony_ci bool "Btrfs with integrity check tool compiled in (DEPRECATED)" 5362306a36Sopenharmony_ci depends on BTRFS_FS 5462306a36Sopenharmony_ci help 5562306a36Sopenharmony_ci This feature has been deprecated and will be removed in 6.7. 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci Adds code that examines all block write requests (including 5862306a36Sopenharmony_ci writes of the super block). The goal is to verify that the 5962306a36Sopenharmony_ci state of the filesystem on disk is always consistent, i.e., 6062306a36Sopenharmony_ci after a power-loss or kernel panic event the filesystem is 6162306a36Sopenharmony_ci in a consistent state. 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci If the integrity check tool is included and activated in 6462306a36Sopenharmony_ci the mount options, plenty of kernel memory is used, and 6562306a36Sopenharmony_ci plenty of additional CPU cycles are spent. Enabling this 6662306a36Sopenharmony_ci functionality is not intended for normal use. 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci In most cases, unless you are a btrfs developer who needs 6962306a36Sopenharmony_ci to verify the integrity of (super)-block write requests 7062306a36Sopenharmony_ci during the run of a regression test, say N 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ciconfig BTRFS_FS_RUN_SANITY_TESTS 7362306a36Sopenharmony_ci bool "Btrfs will run sanity tests upon loading" 7462306a36Sopenharmony_ci depends on BTRFS_FS 7562306a36Sopenharmony_ci help 7662306a36Sopenharmony_ci This will run some basic sanity tests on the free space cache 7762306a36Sopenharmony_ci code to make sure it is acting as it should. These are mostly 7862306a36Sopenharmony_ci regression tests and are only really interesting to btrfs 7962306a36Sopenharmony_ci developers. 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci If unsure, say N. 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ciconfig BTRFS_DEBUG 8462306a36Sopenharmony_ci bool "Btrfs debugging support" 8562306a36Sopenharmony_ci depends on BTRFS_FS 8662306a36Sopenharmony_ci help 8762306a36Sopenharmony_ci Enable run-time debugging support for the btrfs filesystem. This may 8862306a36Sopenharmony_ci enable additional and expensive checks with negative impact on 8962306a36Sopenharmony_ci performance, or export extra information via sysfs. 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci If unsure, say N. 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ciconfig BTRFS_ASSERT 9462306a36Sopenharmony_ci bool "Btrfs assert support" 9562306a36Sopenharmony_ci depends on BTRFS_FS 9662306a36Sopenharmony_ci help 9762306a36Sopenharmony_ci Enable run-time assertion checking. This will result in panics if 9862306a36Sopenharmony_ci any of the assertions trip. This is meant for btrfs developers only. 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci If unsure, say N. 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ciconfig BTRFS_FS_REF_VERIFY 10362306a36Sopenharmony_ci bool "Btrfs with the ref verify tool compiled in" 10462306a36Sopenharmony_ci depends on BTRFS_FS 10562306a36Sopenharmony_ci default n 10662306a36Sopenharmony_ci help 10762306a36Sopenharmony_ci Enable run-time extent reference verification instrumentation. This 10862306a36Sopenharmony_ci is meant to be used by btrfs developers for tracking down extent 10962306a36Sopenharmony_ci reference problems or verifying they didn't break something. 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ci If unsure, say N. 112