1852eb3aeSDavid Sterba# SPDX-License-Identifier: GPL-2.0 2852eb3aeSDavid Sterba 3335debeeSAlexey Dobriyanconfig BTRFS_FS 4aa825914SDavid Sterba tristate "Btrfs filesystem support" 52c275afeSChristoph Hellwig select BLK_CGROUP_PUNT_BIO 6d5178578SJohannes Thumshirn select CRYPTO 7d5178578SJohannes Thumshirn select CRYPTO_CRC32C 8314c4cd6SYueHaibing select LIBCRC32C 93951e7f0SJohannes Thumshirn select CRYPTO_XXHASH 103831bf00SJohannes Thumshirn select CRYPTO_SHA256 1178f926f7SDavid Sterba select CRYPTO_BLAKE2B 12335debeeSAlexey Dobriyan select ZLIB_INFLATE 13335debeeSAlexey Dobriyan select ZLIB_DEFLATE 14a6fa6faeSLi Zefan select LZO_COMPRESS 15a6fa6faeSLi Zefan select LZO_DECOMPRESS 165c1aab1dSNick Terrell select ZSTD_COMPRESS 175c1aab1dSNick Terrell select ZSTD_DECOMPRESS 18f85781fbSGoldwyn Rodrigues select FS_IOMAP 1953b381b3SDavid Woodhouse select RAID6_PQ 2010e78e3aSTomasz Torcz select XOR_BLOCKS 21e9009095SNathan Chancellor depends on PAGE_SIZE_LESS_THAN_256KB 2253b381b3SDavid Woodhouse 23335debeeSAlexey Dobriyan help 244204617dSDavid Sterba Btrfs is a general purpose copy-on-write filesystem with extents, 254204617dSDavid Sterba writable snapshotting, support for multiple devices and many more 264204617dSDavid Sterba features focused on fault tolerance, repair and easy administration. 27335debeeSAlexey Dobriyan 284204617dSDavid Sterba The filesystem disk format is no longer unstable, and it's not 294204617dSDavid Sterba expected to change unless there are strong reasons to do so. If there 304204617dSDavid Sterba is a format change, file systems with a unchanged format will 314204617dSDavid Sterba continue to be mountable and usable by newer kernels. 324204617dSDavid Sterba 334204617dSDavid Sterba For more information, please see the web pages at 344204617dSDavid Sterba http://btrfs.wiki.kernel.org. 35335debeeSAlexey Dobriyan 36335debeeSAlexey Dobriyan To compile this file system support as a module, choose M here. The 37335debeeSAlexey Dobriyan module will be called btrfs. 38335debeeSAlexey Dobriyan 39335debeeSAlexey Dobriyan If unsure, say N. 40bef62ef3SChristian Hesse 41bef62ef3SChristian Hesseconfig BTRFS_FS_POSIX_ACL 42bef62ef3SChristian Hesse bool "Btrfs POSIX Access Control Lists" 43bef62ef3SChristian Hesse depends on BTRFS_FS 44bef62ef3SChristian Hesse select FS_POSIX_ACL 45bef62ef3SChristian Hesse help 46bef62ef3SChristian Hesse POSIX Access Control Lists (ACLs) support permissions for users and 47bef62ef3SChristian Hesse groups beyond the owner/group/world scheme. 48bef62ef3SChristian Hesse 49bef62ef3SChristian Hesse If you don't know what Access Control Lists are, say N 50c975dd46SStefan Behrens 51c975dd46SStefan Behrensconfig BTRFS_FS_CHECK_INTEGRITY 52*16c3a476SQu Wenruo bool "Btrfs with integrity check tool compiled in (DEPRECATED)" 53c975dd46SStefan Behrens depends on BTRFS_FS 54c975dd46SStefan Behrens help 55*16c3a476SQu Wenruo This feature has been deprecated and will be removed in 6.7. 56*16c3a476SQu Wenruo 57c975dd46SStefan Behrens Adds code that examines all block write requests (including 58c975dd46SStefan Behrens writes of the super block). The goal is to verify that the 59c975dd46SStefan Behrens state of the filesystem on disk is always consistent, i.e., 60c975dd46SStefan Behrens after a power-loss or kernel panic event the filesystem is 61c975dd46SStefan Behrens in a consistent state. 62c975dd46SStefan Behrens 63c975dd46SStefan Behrens If the integrity check tool is included and activated in 64c975dd46SStefan Behrens the mount options, plenty of kernel memory is used, and 65c975dd46SStefan Behrens plenty of additional CPU cycles are spent. Enabling this 66c975dd46SStefan Behrens functionality is not intended for normal use. 67c975dd46SStefan Behrens 68c975dd46SStefan Behrens In most cases, unless you are a btrfs developer who needs 69c975dd46SStefan Behrens to verify the integrity of (super)-block write requests 70c975dd46SStefan Behrens during the run of a regression test, say N 7174255aa0SJosef Bacik 7274255aa0SJosef Bacikconfig BTRFS_FS_RUN_SANITY_TESTS 7374255aa0SJosef Bacik bool "Btrfs will run sanity tests upon loading" 7474255aa0SJosef Bacik depends on BTRFS_FS 7574255aa0SJosef Bacik help 7674255aa0SJosef Bacik This will run some basic sanity tests on the free space cache 7774255aa0SJosef Bacik code to make sure it is acting as it should. These are mostly 78a26a8746SMichael Witten regression tests and are only really interesting to btrfs 79a26a8746SMichael Witten developers. 8074255aa0SJosef Bacik 8174255aa0SJosef Bacik If unsure, say N. 8274255aa0SJosef Bacik 836d49ba1bSEric Sandeenconfig BTRFS_DEBUG 846d49ba1bSEric Sandeen bool "Btrfs debugging support" 856d49ba1bSEric Sandeen depends on BTRFS_FS 866d49ba1bSEric Sandeen help 876d49ba1bSEric Sandeen Enable run-time debugging support for the btrfs filesystem. This may 886d49ba1bSEric Sandeen enable additional and expensive checks with negative impact on 896d49ba1bSEric Sandeen performance, or export extra information via sysfs. 906d49ba1bSEric Sandeen 916d49ba1bSEric Sandeen If unsure, say N. 922e17c7c6SJosef Bacik 932e17c7c6SJosef Bacikconfig BTRFS_ASSERT 942e17c7c6SJosef Bacik bool "Btrfs assert support" 952e17c7c6SJosef Bacik depends on BTRFS_FS 962e17c7c6SJosef Bacik help 972e17c7c6SJosef Bacik Enable run-time assertion checking. This will result in panics if 982e17c7c6SJosef Bacik any of the assertions trip. This is meant for btrfs developers only. 992e17c7c6SJosef Bacik 1002e17c7c6SJosef Bacik If unsure, say N. 101fd708b81SJosef Bacik 102fd708b81SJosef Bacikconfig BTRFS_FS_REF_VERIFY 103fd708b81SJosef Bacik bool "Btrfs with the ref verify tool compiled in" 104fd708b81SJosef Bacik depends on BTRFS_FS 105fd708b81SJosef Bacik default n 106fd708b81SJosef Bacik help 107fd708b81SJosef Bacik Enable run-time extent reference verification instrumentation. This 108fd708b81SJosef Bacik is meant to be used by btrfs developers for tracking down extent 109fd708b81SJosef Bacik reference problems or verifying they didn't break something. 110fd708b81SJosef Bacik 111fd708b81SJosef Bacik If unsure, say N. 112