1852eb3aeSDavid Sterba# SPDX-License-Identifier: GPL-2.0 2852eb3aeSDavid Sterba 3335debeeSAlexey Dobriyanconfig BTRFS_FS 4aa825914SDavid Sterba tristate "Btrfs filesystem support" 5d5178578SJohannes Thumshirn select CRYPTO 6d5178578SJohannes Thumshirn select CRYPTO_CRC32C 7335debeeSAlexey Dobriyan select ZLIB_INFLATE 8335debeeSAlexey Dobriyan select ZLIB_DEFLATE 9a6fa6faeSLi Zefan select LZO_COMPRESS 10a6fa6faeSLi Zefan select LZO_DECOMPRESS 115c1aab1dSNick Terrell select ZSTD_COMPRESS 125c1aab1dSNick Terrell select ZSTD_DECOMPRESS 1353b381b3SDavid Woodhouse select RAID6_PQ 1410e78e3aSTomasz Torcz select XOR_BLOCKS 1583fe27eaSPranith Kumar select SRCU 1653b381b3SDavid Woodhouse 17335debeeSAlexey Dobriyan help 184204617dSDavid Sterba Btrfs is a general purpose copy-on-write filesystem with extents, 194204617dSDavid Sterba writable snapshotting, support for multiple devices and many more 204204617dSDavid Sterba features focused on fault tolerance, repair and easy administration. 21335debeeSAlexey Dobriyan 224204617dSDavid Sterba The filesystem disk format is no longer unstable, and it's not 234204617dSDavid Sterba expected to change unless there are strong reasons to do so. If there 244204617dSDavid Sterba is a format change, file systems with a unchanged format will 254204617dSDavid Sterba continue to be mountable and usable by newer kernels. 264204617dSDavid Sterba 274204617dSDavid Sterba For more information, please see the web pages at 284204617dSDavid Sterba http://btrfs.wiki.kernel.org. 29335debeeSAlexey Dobriyan 30335debeeSAlexey Dobriyan To compile this file system support as a module, choose M here. The 31335debeeSAlexey Dobriyan module will be called btrfs. 32335debeeSAlexey Dobriyan 33335debeeSAlexey Dobriyan If unsure, say N. 34bef62ef3SChristian Hesse 35bef62ef3SChristian Hesseconfig BTRFS_FS_POSIX_ACL 36bef62ef3SChristian Hesse bool "Btrfs POSIX Access Control Lists" 37bef62ef3SChristian Hesse depends on BTRFS_FS 38bef62ef3SChristian Hesse select FS_POSIX_ACL 39bef62ef3SChristian Hesse help 40bef62ef3SChristian Hesse POSIX Access Control Lists (ACLs) support permissions for users and 41bef62ef3SChristian Hesse groups beyond the owner/group/world scheme. 42bef62ef3SChristian Hesse 43bef62ef3SChristian Hesse If you don't know what Access Control Lists are, say N 44c975dd46SStefan Behrens 45c975dd46SStefan Behrensconfig BTRFS_FS_CHECK_INTEGRITY 46c975dd46SStefan Behrens bool "Btrfs with integrity check tool compiled in (DANGEROUS)" 47c975dd46SStefan Behrens depends on BTRFS_FS 48c975dd46SStefan Behrens help 49c975dd46SStefan Behrens Adds code that examines all block write requests (including 50c975dd46SStefan Behrens writes of the super block). The goal is to verify that the 51c975dd46SStefan Behrens state of the filesystem on disk is always consistent, i.e., 52c975dd46SStefan Behrens after a power-loss or kernel panic event the filesystem is 53c975dd46SStefan Behrens in a consistent state. 54c975dd46SStefan Behrens 55c975dd46SStefan Behrens If the integrity check tool is included and activated in 56c975dd46SStefan Behrens the mount options, plenty of kernel memory is used, and 57c975dd46SStefan Behrens plenty of additional CPU cycles are spent. Enabling this 58c975dd46SStefan Behrens functionality is not intended for normal use. 59c975dd46SStefan Behrens 60c975dd46SStefan Behrens In most cases, unless you are a btrfs developer who needs 61c975dd46SStefan Behrens to verify the integrity of (super)-block write requests 62c975dd46SStefan Behrens during the run of a regression test, say N 6374255aa0SJosef Bacik 6474255aa0SJosef Bacikconfig BTRFS_FS_RUN_SANITY_TESTS 6574255aa0SJosef Bacik bool "Btrfs will run sanity tests upon loading" 6674255aa0SJosef Bacik depends on BTRFS_FS 6774255aa0SJosef Bacik help 6874255aa0SJosef Bacik This will run some basic sanity tests on the free space cache 6974255aa0SJosef Bacik code to make sure it is acting as it should. These are mostly 70a26a8746SMichael Witten regression tests and are only really interesting to btrfs 71a26a8746SMichael Witten developers. 7274255aa0SJosef Bacik 7374255aa0SJosef Bacik If unsure, say N. 7474255aa0SJosef Bacik 756d49ba1bSEric Sandeenconfig BTRFS_DEBUG 766d49ba1bSEric Sandeen bool "Btrfs debugging support" 776d49ba1bSEric Sandeen depends on BTRFS_FS 786d49ba1bSEric Sandeen help 796d49ba1bSEric Sandeen Enable run-time debugging support for the btrfs filesystem. This may 806d49ba1bSEric Sandeen enable additional and expensive checks with negative impact on 816d49ba1bSEric Sandeen performance, or export extra information via sysfs. 826d49ba1bSEric Sandeen 836d49ba1bSEric Sandeen If unsure, say N. 842e17c7c6SJosef Bacik 852e17c7c6SJosef Bacikconfig BTRFS_ASSERT 862e17c7c6SJosef Bacik bool "Btrfs assert support" 872e17c7c6SJosef Bacik depends on BTRFS_FS 882e17c7c6SJosef Bacik help 892e17c7c6SJosef Bacik Enable run-time assertion checking. This will result in panics if 902e17c7c6SJosef Bacik any of the assertions trip. This is meant for btrfs developers only. 912e17c7c6SJosef Bacik 922e17c7c6SJosef Bacik If unsure, say N. 93fd708b81SJosef Bacik 94fd708b81SJosef Bacikconfig BTRFS_FS_REF_VERIFY 95fd708b81SJosef Bacik bool "Btrfs with the ref verify tool compiled in" 96fd708b81SJosef Bacik depends on BTRFS_FS 97fd708b81SJosef Bacik default n 98fd708b81SJosef Bacik help 99fd708b81SJosef Bacik Enable run-time extent reference verification instrumentation. This 100fd708b81SJosef Bacik is meant to be used by btrfs developers for tracking down extent 101fd708b81SJosef Bacik reference problems or verifying they didn't break something. 102fd708b81SJosef Bacik 103fd708b81SJosef Bacik If unsure, say N. 104