summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/crc32c.h
blob: a93255b4ee275583c483e99c4c6455d58d35321a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <asm/byteorder.h>
#include <linux/crc32c.h>
#include <linux/version.h>

/**
 * implementation of crc32c_le() changed in linux-2.6.23,
 * has of v0.13 btrfs-progs is using the latest version.
 * We must workaround older implementations of crc32c_le()
 * found on older kernel versions.
 */
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23)
#define btrfs_crc32c(seed, data, length) \
	__cpu_to_le32( crc32c( __le32_to_cpu(seed), data, length) )
#else
#define btrfs_crc32c(seed, data, length) \
	crc32c(seed, data, length)
#endif