| diff -ruN bcache-tools-1.0.8.orig/bcache.c bcache-tools-1.0.8/bcache.c |
| --- bcache-tools-1.0.8.orig/bcache.c 2014-12-04 23:51:24.000000000 +0100 |
| +++ bcache-tools-1.0.8/bcache.c 2015-05-22 19:40:41.039355096 +0200 |
| @@ -26,7 +26,7 @@ |
| * x^7 + x^4 + x + 1 |
| */ |
| |
| -static const uint64_t crc_table[256] = { |
| +const uint64_t crc_table[256] = { |
| 0x0000000000000000ULL, 0x42F0E1EBA9EA3693ULL, 0x85E1C3D753D46D26ULL, |
| 0xC711223CFA3E5BB5ULL, 0x493366450E42ECDFULL, 0x0BC387AEA7A8DA4CULL, |
| 0xCCD2A5925D9681F9ULL, 0x8E224479F47CB76AULL, 0x9266CC8A1C85D9BEULL, |
| @@ -114,16 +114,3 @@ |
| 0x5DEDC41A34BBEEB2ULL, 0x1F1D25F19D51D821ULL, 0xD80C07CD676F8394ULL, |
| 0x9AFCE626CE85B507ULL |
| }; |
| - |
| -inline uint64_t crc64(const void *_data, size_t len) |
| -{ |
| - uint64_t crc = 0xFFFFFFFFFFFFFFFFULL; |
| - const unsigned char *data = _data; |
| - |
| - while (len--) { |
| - int i = ((int) (crc >> 56) ^ *data++) & 0xFF; |
| - crc = crc_table[i] ^ (crc << 8); |
| - } |
| - |
| - return crc ^ 0xFFFFFFFFFFFFFFFFULL; |
| -} |
| diff -ruN bcache-tools-1.0.8.orig/bcache.h bcache-tools-1.0.8/bcache.h |
| --- bcache-tools-1.0.8.orig/bcache.h 2014-12-04 23:51:24.000000000 +0100 |
| +++ bcache-tools-1.0.8/bcache.h 2015-05-22 19:40:34.924320569 +0200 |
| @@ -115,7 +115,20 @@ |
| #define BDEV_STATE_DIRTY 2U |
| #define BDEV_STATE_STALE 3U |
| |
| -uint64_t crc64(const void *_data, size_t len); |
| +extern const uint64_t crc_table[]; |
| + |
| +inline uint64_t crc64(const void *_data, size_t len) |
| +{ |
| + uint64_t crc = 0xFFFFFFFFFFFFFFFFULL; |
| + const unsigned char *data = _data; |
| + |
| + while (len--) { |
| + int i = ((int) (crc >> 56) ^ *data++) & 0xFF; |
| + crc = crc_table[i] ^ (crc << 8); |
| + } |
| + |
| + return crc ^ 0xFFFFFFFFFFFFFFFFULL; |
| +} |
| |
| #define node(i, j) ((void *) ((i)->d + (j))) |
| #define end(i) node(i, (i)->keys) |
| Binary files bcache-tools-1.0.8.orig/bcache-register and bcache-tools-1.0.8/bcache-register differ |