1000) / (1024 * 1024);
cfs_crypto_hash_speeds[alg_id] = (int)tmp;
}
- CDEBUG(D_INFO, "Crypto hash algorithm %s speed = %d MB/s\n",
+ CDEBUG(D_CONFIG, "Crypto hash algorithm %s speed = %d MB/s\n",
cfs_crypto_hash_name(alg_id), cfs_crypto_hash_speeds[alg_id]);
}
return 0;
}
-static int crc32, adler32;
+static int adler32;
+#ifdef HAVE_CRC32
+static int crc32;
+#endif
#ifdef HAVE_PCLMULQDQ
+#ifdef NEED_CRC32_ACCEL
static int crc32pclmul;
#endif
+#ifdef NEED_CRC32C_ACCEL
+static int crc32c_pclmul;
+#endif
+#endif
int cfs_crypto_register(void)
{
- cfs_request_module("crc32c");
+ request_module("crc32c");
- crc32 = cfs_crypto_crc32_register();
adler32 = cfs_crypto_adler32_register();
+#ifdef HAVE_CRC32
+ crc32 = cfs_crypto_crc32_register();
+#endif
#ifdef HAVE_PCLMULQDQ
+#ifdef NEED_CRC32_ACCEL
crc32pclmul = cfs_crypto_crc32_pclmul_register();
#endif
-
+#ifdef NEED_CRC32C_ACCEL
+ crc32c_pclmul = cfs_crypto_crc32c_pclmul_register();
+#endif
+#endif
/* check all algorithms and do performance test */
cfs_crypto_test_hashes();
return 0;
}
void cfs_crypto_unregister(void)
{
- if (crc32 == 0)
- cfs_crypto_crc32_unregister();
if (adler32 == 0)
cfs_crypto_adler32_unregister();
+#ifdef HAVE_CRC32
+ if (crc32 == 0)
+ cfs_crypto_crc32_unregister();
+#endif
#ifdef HAVE_PCLMULQDQ
+#ifdef NEED_CRC32_ACCEL
if (crc32pclmul == 0)
cfs_crypto_crc32_pclmul_unregister();
#endif
-
+#ifdef NEED_CRC32C_ACCEL
+ if (crc32c_pclmul == 0)
+ cfs_crypto_crc32c_pclmul_unregister();
+#endif
+#endif
return;
}