xref: /openbmc/linux/fs/btrfs/Kconfig (revision 16c3a476)
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