xref: /openbmc/linux/fs/btrfs/Kconfig (revision 4204617d)
1335debeeSAlexey Dobriyanconfig BTRFS_FS
2aa825914SDavid Sterba	tristate "Btrfs filesystem support"
3335debeeSAlexey Dobriyan	select LIBCRC32C
4335debeeSAlexey Dobriyan	select ZLIB_INFLATE
5335debeeSAlexey Dobriyan	select ZLIB_DEFLATE
6a6fa6faeSLi Zefan	select LZO_COMPRESS
7a6fa6faeSLi Zefan	select LZO_DECOMPRESS
853b381b3SDavid Woodhouse	select RAID6_PQ
910e78e3aSTomasz Torcz	select XOR_BLOCKS
1053b381b3SDavid Woodhouse
11335debeeSAlexey Dobriyan	help
124204617dSDavid Sterba	  Btrfs is a general purpose copy-on-write filesystem with extents,
134204617dSDavid Sterba	  writable snapshotting, support for multiple devices and many more
144204617dSDavid Sterba	  features focused on fault tolerance, repair and easy administration.
15335debeeSAlexey Dobriyan
164204617dSDavid Sterba	  The filesystem disk format is no longer unstable, and it's not
174204617dSDavid Sterba	  expected to change unless there are strong reasons to do so. If there
184204617dSDavid Sterba	  is a format change, file systems with a unchanged format will
194204617dSDavid Sterba	  continue to be mountable and usable by newer kernels.
204204617dSDavid Sterba
214204617dSDavid Sterba	  For more information, please see the web pages at
224204617dSDavid Sterba	  http://btrfs.wiki.kernel.org.
23335debeeSAlexey Dobriyan
24335debeeSAlexey Dobriyan	  To compile this file system support as a module, choose M here. The
25335debeeSAlexey Dobriyan	  module will be called btrfs.
26335debeeSAlexey Dobriyan
27335debeeSAlexey Dobriyan	  If unsure, say N.
28bef62ef3SChristian Hesse
29bef62ef3SChristian Hesseconfig BTRFS_FS_POSIX_ACL
30bef62ef3SChristian Hesse	bool "Btrfs POSIX Access Control Lists"
31bef62ef3SChristian Hesse	depends on BTRFS_FS
32bef62ef3SChristian Hesse	select FS_POSIX_ACL
33bef62ef3SChristian Hesse	help
34bef62ef3SChristian Hesse	  POSIX Access Control Lists (ACLs) support permissions for users and
35bef62ef3SChristian Hesse	  groups beyond the owner/group/world scheme.
36bef62ef3SChristian Hesse
37bef62ef3SChristian Hesse	  To learn more about Access Control Lists, visit the POSIX ACLs for
38bef62ef3SChristian Hesse	  Linux website <http://acl.bestbits.at/>.
39bef62ef3SChristian Hesse
40bef62ef3SChristian Hesse	  If you don't know what Access Control Lists are, say N
41c975dd46SStefan Behrens
42c975dd46SStefan Behrensconfig BTRFS_FS_CHECK_INTEGRITY
43c975dd46SStefan Behrens	bool "Btrfs with integrity check tool compiled in (DANGEROUS)"
44c975dd46SStefan Behrens	depends on BTRFS_FS
45c975dd46SStefan Behrens	help
46c975dd46SStefan Behrens	  Adds code that examines all block write requests (including
47c975dd46SStefan Behrens	  writes of the super block). The goal is to verify that the
48c975dd46SStefan Behrens	  state of the filesystem on disk is always consistent, i.e.,
49c975dd46SStefan Behrens	  after a power-loss or kernel panic event the filesystem is
50c975dd46SStefan Behrens	  in a consistent state.
51c975dd46SStefan Behrens
52c975dd46SStefan Behrens	  If the integrity check tool is included and activated in
53c975dd46SStefan Behrens	  the mount options, plenty of kernel memory is used, and
54c975dd46SStefan Behrens	  plenty of additional CPU cycles are spent. Enabling this
55c975dd46SStefan Behrens	  functionality is not intended for normal use.
56c975dd46SStefan Behrens
57c975dd46SStefan Behrens	  In most cases, unless you are a btrfs developer who needs
58c975dd46SStefan Behrens	  to verify the integrity of (super)-block write requests
59c975dd46SStefan Behrens	  during the run of a regression test, say N
6074255aa0SJosef Bacik
6174255aa0SJosef Bacikconfig BTRFS_FS_RUN_SANITY_TESTS
6274255aa0SJosef Bacik	bool "Btrfs will run sanity tests upon loading"
6374255aa0SJosef Bacik	depends on BTRFS_FS
6474255aa0SJosef Bacik	help
6574255aa0SJosef Bacik	  This will run some basic sanity tests on the free space cache
6674255aa0SJosef Bacik	  code to make sure it is acting as it should.  These are mostly
6774255aa0SJosef Bacik	  regression tests and are only really interesting to btrfs devlopers.
6874255aa0SJosef Bacik
6974255aa0SJosef Bacik	  If unsure, say N.
7074255aa0SJosef Bacik
716d49ba1bSEric Sandeenconfig BTRFS_DEBUG
726d49ba1bSEric Sandeen	bool "Btrfs debugging support"
736d49ba1bSEric Sandeen	depends on BTRFS_FS
746d49ba1bSEric Sandeen	help
756d49ba1bSEric Sandeen	  Enable run-time debugging support for the btrfs filesystem. This may
766d49ba1bSEric Sandeen	  enable additional and expensive checks with negative impact on
776d49ba1bSEric Sandeen	  performance, or export extra information via sysfs.
786d49ba1bSEric Sandeen
796d49ba1bSEric Sandeen	  If unsure, say N.
802e17c7c6SJosef Bacik
812e17c7c6SJosef Bacikconfig BTRFS_ASSERT
822e17c7c6SJosef Bacik	bool "Btrfs assert support"
832e17c7c6SJosef Bacik	depends on BTRFS_FS
842e17c7c6SJosef Bacik	help
852e17c7c6SJosef Bacik	  Enable run-time assertion checking.  This will result in panics if
862e17c7c6SJosef Bacik	  any of the assertions trip.  This is meant for btrfs developers only.
872e17c7c6SJosef Bacik
882e17c7c6SJosef Bacik	  If unsure, say N.
89