aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/crc32c.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/crc32c.h')
-rw-r--r--fs/btrfs/crc32c.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/fs/btrfs/crc32c.h b/fs/btrfs/crc32c.h
new file mode 100644
index 000000000000..a93255b4ee27
--- /dev/null
+++ b/fs/btrfs/crc32c.h
@@ -0,0 +1,17 @@
1#include <asm/byteorder.h>
2#include <linux/crc32c.h>
3#include <linux/version.h>
4
5/**
6 * implementation of crc32c_le() changed in linux-2.6.23,
7 * has of v0.13 btrfs-progs is using the latest version.
8 * We must workaround older implementations of crc32c_le()
9 * found on older kernel versions.
10 */
11#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23)
12#define btrfs_crc32c(seed, data, length) \
13 __cpu_to_le32( crc32c( __le32_to_cpu(seed), data, length) )
14#else
15#define btrfs_crc32c(seed, data, length) \
16 crc32c(seed, data, length)
17#endif