From 663bd82022cae64d3465de400e8c1d2ea340b193 Mon Sep 17 00:00:00 2001 From: Jorgen Lundman Date: Mon, 12 Sep 2022 14:49:29 +0900 Subject: [PATCH] Windows: Introduce BLAKE3 checksums as an OpenZFS feature --- lib/libicp/CMakeLists.txt | 11 ++++------- lib/libzpool/CMakeLists.txt | 2 ++ module/icp/CMakeLists.txt | 16 ++++++++-------- module/zfs/CMakeLists.txt | 2 ++ 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/lib/libicp/CMakeLists.txt b/lib/libicp/CMakeLists.txt index 0973db399e36..5ed8e29b429e 100644 --- a/lib/libicp/CMakeLists.txt +++ b/lib/libicp/CMakeLists.txt @@ -9,6 +9,10 @@ add_library(libicp "${ICP_MODULE_DIR}/algs/aes/aes_impl_x86-64.c" "${ICP_MODULE_DIR}/algs/aes/aes_impl.c" "${ICP_MODULE_DIR}/algs/aes/aes_modes.c" + "${ICP_MODULE_DIR}/algs/blake3/blake3.c" + "${ICP_MODULE_DIR}/algs/blake3/blake3_generic.c" + "${ICP_MODULE_DIR}/algs/blake3/blake3_impl.c" + "${ICP_MODULE_DIR}/algs/blake3/blake3_x86-64.c" "${ICP_MODULE_DIR}/algs/edonr/edonr.c" "${ICP_MODULE_DIR}/algs/modes/cbc.c" "${ICP_MODULE_DIR}/algs/modes/ccm.c" @@ -18,16 +22,13 @@ add_library(libicp "${ICP_MODULE_DIR}/algs/modes/gcm_generic.c" "${ICP_MODULE_DIR}/algs/modes/gcm_pclmulqdq.c" "${ICP_MODULE_DIR}/algs/modes/modes.c" -# "${ICP_MODULE_DIR}/algs/sha1/sha1.c" "${ICP_MODULE_DIR}/algs/sha2/sha2.c" "${ICP_MODULE_DIR}/algs/skein/skein.c" "${ICP_MODULE_DIR}/algs/skein/skein_block.c" "${ICP_MODULE_DIR}/algs/skein/skein_iv.c" "${ICP_MODULE_DIR}/api/kcf_cipher.c" "${ICP_MODULE_DIR}/api/kcf_ctxops.c" -# "${ICP_MODULE_DIR}/api/kcf_digest.c" "${ICP_MODULE_DIR}/api/kcf_mac.c" -# "${ICP_MODULE_DIR}/api/kcf_miscapi.c" "${ICP_MODULE_DIR}/core/kcf_callprov.c" "${ICP_MODULE_DIR}/core/kcf_mech_tabs.c" "${ICP_MODULE_DIR}/core/kcf_prov_lib.c" @@ -35,12 +36,8 @@ add_library(libicp "${ICP_MODULE_DIR}/core/kcf_sched.c" "${ICP_MODULE_DIR}/illumos-crypto.c" "${ICP_MODULE_DIR}/io/aes.c" -# "${ICP_MODULE_DIR}/io/edonr_mod.c" -# "${ICP_MODULE_DIR}/io/sha1_mod.c" "${ICP_MODULE_DIR}/io/sha2_mod.c" "${ICP_MODULE_DIR}/io/skein_mod.c" -# "${ICP_MODULE_DIR}/os/modconf.c" -# "${ICP_MODULE_DIR}/os/modhash.c" "${ICP_MODULE_DIR}/spi/kcf_spi.c" ) diff --git a/lib/libzpool/CMakeLists.txt b/lib/libzpool/CMakeLists.txt index e17768af0572..86a504b44381 100644 --- a/lib/libzpool/CMakeLists.txt +++ b/lib/libzpool/CMakeLists.txt @@ -47,6 +47,7 @@ add_library(libzpool "${MODULE_DIR}/zfs/abd.c" "${MODULE_DIR}/zfs/aggsum.c" "${MODULE_DIR}/zfs/arc.c" + "${MODULE_DIR}/zfs/blake3_zfs.c" "${MODULE_DIR}/zfs/blkptr.c" "${MODULE_DIR}/zfs/bplist.c" "${MODULE_DIR}/zfs/bpobj.c" @@ -143,6 +144,7 @@ add_library(libzpool "${MODULE_DIR}/zfs/zcp_synctask.c" "${MODULE_DIR}/zfs/zfeature.c" "${MODULE_DIR}/zfs/zfs_byteswap.c" + "${MODULE_DIR}/zfs/zfs_chksum.c" "${MODULE_DIR}/zfs/zfs_fm.c" "${MODULE_DIR}/zfs/zfs_fuid.c" "${MODULE_DIR}/zfs/zfs_ratelimit.c" diff --git a/module/icp/CMakeLists.txt b/module/icp/CMakeLists.txt index 35fd9d321d36..18b4a4911c40 100644 --- a/module/icp/CMakeLists.txt +++ b/module/icp/CMakeLists.txt @@ -6,6 +6,10 @@ wdk_add_library(icpkern algs/aes/aes_impl.c algs/aes/aes_impl_x86-64.c algs/aes/aes_modes.c + algs/blake3/blake3.c + algs/blake3/blake3_generic.c + algs/blake3/blake3_impl.c + algs/blake3/blake3_x86-64.c algs/edonr/edonr.c algs/modes/cbc.c algs/modes/ccm.c @@ -14,7 +18,6 @@ wdk_add_library(icpkern algs/modes/gcm.c algs/modes/gcm_generic.c algs/modes/modes.c -# algs/sha1/sha1.c algs/sha2/sha2.c algs/skein/skein.c algs/skein/skein_block.c @@ -24,9 +27,7 @@ wdk_add_library(icpkern algs/skein/skein_port.h api/kcf_cipher.c api/kcf_ctxops.c -# api/kcf_digest.c api/kcf_mac.c -# api/kcf_miscapi.c asm-x86_64/aes/aeskey.c asm-x86_64/aes/aes_aesni.S # asm-x86_64/aes/aes_amd64.S @@ -37,6 +38,10 @@ wdk_add_library(icpkern # asm-x86_64/sha2/sha256_impl.S # asm-x86_64/sha2/sha512_impl.S # asm-x86_64/sha2/sha512_impl.S +# asm-x86_64/blake3/blake3_avx2.S +# asm-x86_64/blake3/blake3_avx512.S +# asm-x86_64/blake3/blake3_sse2.S +# asm-x86_64/blake3/blake3_sse41.S core/kcf_callprov.c core/kcf_mech_tabs.c core/kcf_prov_lib.c @@ -44,13 +49,8 @@ wdk_add_library(icpkern core/kcf_sched.c illumos-crypto.c io/aes.c -# io/sha1_mod.c io/sha2_mod.c -# io/edonr_mod.c io/skein_mod.c - #os/bitmap_arch.c -# os/modconf.c -# os/modhash.c spi/kcf_spi.c ) diff --git a/module/zfs/CMakeLists.txt b/module/zfs/CMakeLists.txt index 5e339ca7b3c3..60a741ddea53 100644 --- a/module/zfs/CMakeLists.txt +++ b/module/zfs/CMakeLists.txt @@ -6,6 +6,7 @@ wdk_add_library(zfskern abd.c aggsum.c arc.c + blake3_zfs.c ../avl/avl.c blkptr.c bplist.c @@ -104,6 +105,7 @@ wdk_add_library(zfskern zcp_synctask.c zfeature.c zfs_byteswap.c + zfs_chksum.c zfs_fm.c zfs_fuid.c zfs_ioctl.c