1# SPDX-License-Identifier: GPL-2.0 2 3config BTRFS_FS 4 tristate "Btrfs filesystem support" 5 select CRYPTO 6 select CRYPTO_CRC32C 7 select ZLIB_INFLATE 8 select ZLIB_DEFLATE 9 select LZO_COMPRESS 10 select LZO_DECOMPRESS 11 select ZSTD_COMPRESS 12 select ZSTD_DECOMPRESS 13 select RAID6_PQ 14 select XOR_BLOCKS 15 select SRCU 16 17 help 18 Btrfs is a general purpose copy-on-write filesystem with extents, 19 writable snapshotting, support for multiple devices and many more 20 features focused on fault tolerance, repair and easy administration. 21 22 The filesystem disk format is no longer unstable, and it's not 23 expected to change unless there are strong reasons to do so. If there 24 is a format change, file systems with a unchanged format will 25 continue to be mountable and usable by newer kernels. 26 27 For more information, please see the web pages at 28 http://btrfs.wiki.kernel.org. 29 30 To compile this file system support as a module, choose M here. The 31 module will be called btrfs. 32 33 If unsure, say N. 34 35config BTRFS_FS_POSIX_ACL 36 bool "Btrfs POSIX Access Control Lists" 37 depends on BTRFS_FS 38 select FS_POSIX_ACL 39 help 40 POSIX Access Control Lists (ACLs) support permissions for users and 41 groups beyond the owner/group/world scheme. 42 43 If you don't know what Access Control Lists are, say N 44 45config BTRFS_FS_CHECK_INTEGRITY 46 bool "Btrfs with integrity check tool compiled in (DANGEROUS)" 47 depends on BTRFS_FS 48 help 49 Adds code that examines all block write requests (including 50 writes of the super block). The goal is to verify that the 51 state of the filesystem on disk is always consistent, i.e., 52 after a power-loss or kernel panic event the filesystem is 53 in a consistent state. 54 55 If the integrity check tool is included and activated in 56 the mount options, plenty of kernel memory is used, and 57 plenty of additional CPU cycles are spent. Enabling this 58 functionality is not intended for normal use. 59 60 In most cases, unless you are a btrfs developer who needs 61 to verify the integrity of (super)-block write requests 62 during the run of a regression test, say N 63 64config BTRFS_FS_RUN_SANITY_TESTS 65 bool "Btrfs will run sanity tests upon loading" 66 depends on BTRFS_FS 67 help 68 This will run some basic sanity tests on the free space cache 69 code to make sure it is acting as it should. These are mostly 70 regression tests and are only really interesting to btrfs 71 developers. 72 73 If unsure, say N. 74 75config BTRFS_DEBUG 76 bool "Btrfs debugging support" 77 depends on BTRFS_FS 78 help 79 Enable run-time debugging support for the btrfs filesystem. This may 80 enable additional and expensive checks with negative impact on 81 performance, or export extra information via sysfs. 82 83 If unsure, say N. 84 85config BTRFS_ASSERT 86 bool "Btrfs assert support" 87 depends on BTRFS_FS 88 help 89 Enable run-time assertion checking. This will result in panics if 90 any of the assertions trip. This is meant for btrfs developers only. 91 92 If unsure, say N. 93 94config BTRFS_FS_REF_VERIFY 95 bool "Btrfs with the ref verify tool compiled in" 96 depends on BTRFS_FS 97 default n 98 help 99 Enable run-time extent reference verification instrumentation. This 100 is meant to be used by btrfs developers for tracking down extent 101 reference problems or verifying they didn't break something. 102 103 If unsure, say N. 104