mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 05:02:12 +00:00
314c4cd6d9
If CONFIG_BTRFS_FS is y and CONFIG_LIBCRC32C is m,
building fails:
fs/btrfs/super.o: In function `btrfs_mount_root':
super.c:(.text+0xb7f9): undefined reference to `crc32c_impl'
fs/btrfs/super.o: In function `init_btrfs_fs':
super.c:(.init.text+0x3465): undefined reference to `crc32c_impl'
fs/btrfs/extent-tree.o: In function `hash_extent_data_ref':
extent-tree.c:(.text+0xe60): undefined reference to `crc32c'
extent-tree.c:(.text+0xe78): undefined reference to `crc32c'
extent-tree.c:(.text+0xe8b): undefined reference to `crc32c'
fs/btrfs/dir-item.o: In function `btrfs_insert_xattr_item':
dir-item.c:(.text+0x291): undefined reference to `crc32c'
fs/btrfs/dir-item.o: In function `btrfs_insert_dir_item':
dir-item.c:(.text+0x429): undefined reference to `crc32c'
Select LIBCRC32C to fix it.
Reported-by: Hulk Robot <hulkci@huawei.com>
Fixes: d5178578bc
("btrfs: directly call into crypto framework for checksumming")
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
105 lines
3.2 KiB
Plaintext
105 lines
3.2 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
config BTRFS_FS
|
|
tristate "Btrfs filesystem support"
|
|
select CRYPTO
|
|
select CRYPTO_CRC32C
|
|
select LIBCRC32C
|
|
select ZLIB_INFLATE
|
|
select ZLIB_DEFLATE
|
|
select LZO_COMPRESS
|
|
select LZO_DECOMPRESS
|
|
select ZSTD_COMPRESS
|
|
select ZSTD_DECOMPRESS
|
|
select RAID6_PQ
|
|
select XOR_BLOCKS
|
|
select SRCU
|
|
|
|
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
|
|
http://btrfs.wiki.kernel.org.
|
|
|
|
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_CHECK_INTEGRITY
|
|
bool "Btrfs with integrity check tool compiled in (DANGEROUS)"
|
|
depends on BTRFS_FS
|
|
help
|
|
Adds code that examines all block write requests (including
|
|
writes of the super block). The goal is to verify that the
|
|
state of the filesystem on disk is always consistent, i.e.,
|
|
after a power-loss or kernel panic event the filesystem is
|
|
in a consistent state.
|
|
|
|
If the integrity check tool is included and activated in
|
|
the mount options, plenty of kernel memory is used, and
|
|
plenty of additional CPU cycles are spent. Enabling this
|
|
functionality is not intended for normal use.
|
|
|
|
In most cases, unless you are a btrfs developer who needs
|
|
to verify the integrity of (super)-block write requests
|
|
during the run of a regression test, say N
|
|
|
|
config BTRFS_FS_RUN_SANITY_TESTS
|
|
bool "Btrfs will run sanity tests upon loading"
|
|
depends on BTRFS_FS
|
|
help
|
|
This will run some basic sanity tests on the free space cache
|
|
code to make sure it is acting as it should. These are mostly
|
|
regression tests and are only really interesting to btrfs
|
|
developers.
|
|
|
|
If unsure, say N.
|
|
|
|
config BTRFS_DEBUG
|
|
bool "Btrfs debugging support"
|
|
depends on BTRFS_FS
|
|
help
|
|
Enable run-time debugging support for the btrfs filesystem. This may
|
|
enable additional and expensive checks with negative impact on
|
|
performance, or export extra information via sysfs.
|
|
|
|
If unsure, say N.
|
|
|
|
config BTRFS_ASSERT
|
|
bool "Btrfs assert support"
|
|
depends on BTRFS_FS
|
|
help
|
|
Enable run-time assertion checking. This will result in panics if
|
|
any of the assertions trip. This is meant for btrfs developers only.
|
|
|
|
If unsure, say N.
|
|
|
|
config BTRFS_FS_REF_VERIFY
|
|
bool "Btrfs with the ref verify tool compiled in"
|
|
depends on BTRFS_FS
|
|
default n
|
|
help
|
|
Enable run-time extent reference verification instrumentation. This
|
|
is meant to be used by btrfs developers for tracking down extent
|
|
reference problems or verifying they didn't break something.
|
|
|
|
If unsure, say N.
|