diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-05-13 05:23:30 +0300 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-23 00:08:22 +0300 |
commit | 6009b4e5086783619172900e4090781491664517 (patch) | |
tree | a98a4a93d14e5b49dfc6aeff5d2ade498b044410 /fs/bcachefs/checksum.h | |
parent | 60755344c6b18753c93b353f147c2e23b8b18de1 (diff) | |
download | linux-6009b4e5086783619172900e4090781491664517.tar.xz |
bcachefs: Merge extents with checksums
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/checksum.h')
-rw-r--r-- | fs/bcachefs/checksum.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/fs/bcachefs/checksum.h b/fs/bcachefs/checksum.h index e2f2d797f90c..afdbbf702970 100644 --- a/fs/bcachefs/checksum.h +++ b/fs/bcachefs/checksum.h @@ -9,6 +9,22 @@ #include <linux/crc64.h> #include <crypto/chacha.h> +static inline bool bch2_checksum_mergeable(unsigned type) +{ + + switch (type) { + case BCH_CSUM_NONE: + case BCH_CSUM_CRC32C: + case BCH_CSUM_CRC64: + return true; + default: + return false; + } +} + +struct bch_csum bch2_checksum_merge(unsigned, struct bch_csum, + struct bch_csum, size_t); + static inline u64 bch2_crc64_update(u64 crc, const void *p, size_t len) { return crc64_be(crc, p, len); |