#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 |