btrfs: add xxhash64 to checksumming algorithms

Add xxhash64 to the list of possible checksumming algorithms used by
BTRFS.

Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Johannes Thumshirn 2019-10-07 11:11:01 +02:00 committed by David Sterba
parent 8530c37a70
commit 3951e7f050
5 changed files with 5 additions and 0 deletions

View file

@ -5,6 +5,7 @@ config BTRFS_FS
select CRYPTO select CRYPTO
select CRYPTO_CRC32C select CRYPTO_CRC32C
select LIBCRC32C select LIBCRC32C
select CRYPTO_XXHASH
select ZLIB_INFLATE select ZLIB_INFLATE
select ZLIB_DEFLATE select ZLIB_DEFLATE
select LZO_COMPRESS select LZO_COMPRESS

View file

@ -34,6 +34,7 @@ static const struct btrfs_csums {
const char *name; const char *name;
} btrfs_csums[] = { } btrfs_csums[] = {
[BTRFS_CSUM_TYPE_CRC32] = { .size = 4, .name = "crc32c" }, [BTRFS_CSUM_TYPE_CRC32] = { .size = 4, .name = "crc32c" },
[BTRFS_CSUM_TYPE_XXHASH] = { .size = 8, .name = "xxhash64" },
}; };
int btrfs_super_csum_size(const struct btrfs_super_block *s) int btrfs_super_csum_size(const struct btrfs_super_block *s)

View file

@ -352,6 +352,7 @@ static bool btrfs_supported_super_csum(u16 csum_type)
{ {
switch (csum_type) { switch (csum_type) {
case BTRFS_CSUM_TYPE_CRC32: case BTRFS_CSUM_TYPE_CRC32:
case BTRFS_CSUM_TYPE_XXHASH:
return true; return true;
default: default:
return false; return false;

View file

@ -2462,3 +2462,4 @@ module_exit(exit_btrfs_fs)
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_SOFTDEP("pre: crc32c"); MODULE_SOFTDEP("pre: crc32c");
MODULE_SOFTDEP("pre: xxhash64");

View file

@ -302,6 +302,7 @@
/* csum types */ /* csum types */
enum btrfs_csum_type { enum btrfs_csum_type {
BTRFS_CSUM_TYPE_CRC32 = 0, BTRFS_CSUM_TYPE_CRC32 = 0,
BTRFS_CSUM_TYPE_XXHASH = 1,
}; };
/* /*