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