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