| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- # SPDX-License-Identifier: GPL-2.0
- config BTRFS_FS
- tristate "Btrfs filesystem support"
- select BLK_CGROUP_PUNT_BIO
- select CRC32
- select CRYPTO_LIB_BLAKE2B
- select CRYPTO_LIB_SHA256
- select ZLIB_INFLATE
- select ZLIB_DEFLATE
- select LZO_COMPRESS
- select LZO_DECOMPRESS
- select ZSTD_COMPRESS
- select ZSTD_DECOMPRESS
- select FS_IOMAP
- select RAID6_PQ
- select XOR_BLOCKS
- select XXHASH
- depends on PAGE_SIZE_LESS_THAN_256KB
- help
- Btrfs is a general purpose copy-on-write filesystem with extents,
- writable snapshotting, support for multiple devices and many more
- features focused on fault tolerance, repair and easy administration.
- The filesystem disk format is no longer unstable, and it's not
- expected to change unless there are strong reasons to do so. If there
- is a format change, file systems with a unchanged format will
- continue to be mountable and usable by newer kernels.
- For more information, please see the web pages at
- https://btrfs.readthedocs.io
- To compile this file system support as a module, choose M here. The
- module will be called btrfs.
- If unsure, say N.
- config BTRFS_FS_POSIX_ACL
- bool "Btrfs POSIX Access Control Lists"
- depends on BTRFS_FS
- select FS_POSIX_ACL
- help
- POSIX Access Control Lists (ACLs) support permissions for users and
- groups beyond the owner/group/world scheme.
- If you don't know what Access Control Lists are, say N
- config BTRFS_FS_RUN_SANITY_TESTS
- bool "Btrfs will run sanity tests upon loading"
- depends on BTRFS_FS
- help
- This will run sanity tests for core functionality like free space,
- extent maps, extent io, extent buffers, inodes, qgroups and others,
- at module load time. These are mostly regression tests and are only
- interesting to developers.
- If unsure, say N.
- config BTRFS_DEBUG
- bool "Btrfs debugging support"
- depends on BTRFS_FS
- select REF_TRACKER if STACKTRACE_SUPPORT
- help
- Enable run-time debugging support for the btrfs filesystem.
- Additional potentially expensive checks, debugging functionality or
- sysfs exported information is enabled, like leak checks of internal
- objects, optional forced space fragmentation and /sys/fs/btrfs/debug .
- This has negative impact on performance.
- If unsure, say N.
- config BTRFS_ASSERT
- bool "Btrfs assert support"
- depends on BTRFS_FS
- help
- Enable run-time assertion checking. Additional safety checks are
- done, simple enough not to affect performance but verify invariants
- and assumptions of code to run properly. This may result in panics,
- and is meant for developers but can be enabled in general.
- If unsure, say N.
- config BTRFS_EXPERIMENTAL
- bool "Btrfs experimental features"
- depends on BTRFS_FS
- default n
- help
- Enable experimental features. These features may not be stable enough
- for end users. This is meant for btrfs developers or users who wish
- to test the functionality and report problems.
- Current list:
- - COW fixup worker warning - last warning before removing the
- functionality catching out-of-band page
- dirtying, not necessary since 5.8
- - RAID mirror read policy - additional read policies for balancing
- reading from redundant block group
- profiles (currently: pid, round-robin,
- fixed devid)
- - send stream protocol v3 - fs-verity support
- - raid-stripe-tree - additional mapping of extents to devices to
- support RAID1* profiles on zoned devices,
- RAID56 not yet supported
- - extent tree v2 - complex rework of extent tracking
- - large folio and block size (> page size) support
- - shutdown ioctl and auto-degradation support
- - asynchronous checksum generation for data writes
- - remap-tree - logical address remapping tree
- If unsure, say N.
|