Commit 3831bf00 authored by Johannes Thumshirn's avatar Johannes Thumshirn Committed by David Sterba

btrfs: add sha256 to checksumming algorithm

Add sha256 to the list of possible checksumming algorithms used by BTRFS.
Signed-off-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 3951e7f0
...@@ -6,6 +6,7 @@ config BTRFS_FS ...@@ -6,6 +6,7 @@ config BTRFS_FS
select CRYPTO_CRC32C select CRYPTO_CRC32C
select LIBCRC32C select LIBCRC32C
select CRYPTO_XXHASH select CRYPTO_XXHASH
select CRYPTO_SHA256
select ZLIB_INFLATE select ZLIB_INFLATE
select ZLIB_DEFLATE select ZLIB_DEFLATE
select LZO_COMPRESS select LZO_COMPRESS
......
...@@ -35,6 +35,7 @@ static const struct btrfs_csums { ...@@ -35,6 +35,7 @@ static const struct btrfs_csums {
} 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" }, [BTRFS_CSUM_TYPE_XXHASH] = { .size = 8, .name = "xxhash64" },
[BTRFS_CSUM_TYPE_SHA256] = { .size = 32, .name = "sha256" },
}; };
int btrfs_super_csum_size(const struct btrfs_super_block *s) int btrfs_super_csum_size(const struct btrfs_super_block *s)
......
...@@ -353,6 +353,7 @@ static bool btrfs_supported_super_csum(u16 csum_type) ...@@ -353,6 +353,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: case BTRFS_CSUM_TYPE_XXHASH:
case BTRFS_CSUM_TYPE_SHA256:
return true; return true;
default: default:
return false; return false;
......
...@@ -2463,3 +2463,4 @@ module_exit(exit_btrfs_fs) ...@@ -2463,3 +2463,4 @@ module_exit(exit_btrfs_fs)
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_SOFTDEP("pre: crc32c"); MODULE_SOFTDEP("pre: crc32c");
MODULE_SOFTDEP("pre: xxhash64"); MODULE_SOFTDEP("pre: xxhash64");
MODULE_SOFTDEP("pre: sha256");
...@@ -303,6 +303,7 @@ ...@@ -303,6 +303,7 @@
enum btrfs_csum_type { enum btrfs_csum_type {
BTRFS_CSUM_TYPE_CRC32 = 0, BTRFS_CSUM_TYPE_CRC32 = 0,
BTRFS_CSUM_TYPE_XXHASH = 1, BTRFS_CSUM_TYPE_XXHASH = 1,
BTRFS_CSUM_TYPE_SHA256 = 2,
}; };
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment