ZIO_CHECKSUM_NOPARITY,
ZIO_CHECKSUM_SHA512,
ZIO_CHECKSUM_SKEIN,
-#if !defined(__FreeBSD__)
ZIO_CHECKSUM_EDONR,
-#endif
ZIO_CHECKSUM_FUNCTIONS
};
and
.Sy edonr
checksum algorithms require enabling the appropriate features on the pool.
-.Fx
-does not support the
-.Sy edonr
-algorithm.
.Pp
Please see
.Xr zpool-features 7
to be checksummed.
Thus the produced checksums are unique to a given pool,
preventing hash collision attacks on systems with dedup.
-.Pp
-.checksum-spiel edonr
-.Pp
-.Fx does not support the Sy edonr No feature.
.
.feature com.delphix embedded_data no
This feature improves the performance and compression ratio of
.PATH: ${SRCDIR}/avl \
${SRCDIR}/lua \
${SRCDIR}/nvpair \
+ ${SRCDIR}/icp/algs/edonr \
${SRCDIR}/os/freebsd/spl \
${SRCDIR}/os/freebsd/zfs \
${SRCDIR}/unicode \
# avl
SRCS+= avl.c
+# icp
+SRCS+= edonr.c
+
#lua
SRCS+= lapi.c \
lauxlib.c \
dsl_scan.c \
dsl_synctask.c \
dsl_userhold.c \
+ edonr_zfs.c \
fm.c \
gzip.c \
lzjb.c \
CFLAGS.dsl_dir.c= -Wno-cast-qual
CFLAGS.dsl_deadlist.c= -Wno-cast-qual
CFLAGS.dsl_prop.c= -Wno-cast-qual
+CFLAGS.edonr.c=-Wno-cast-qual
CFLAGS.fm.c= -Wno-cast-qual
CFLAGS.lz4.c= -Wno-cast-qual
CFLAGS.spa.c= -Wno-cast-qual
* tree, but this has not been done yet. Therefore, we return
* that all features except edonr are supported.
*/
-#if defined(__FreeBSD__)
- if (strcmp(name, "org.illumos:edonr") == 0)
- return (B_FALSE);
- else
- return (B_TRUE);
-#elif defined(_KERNEL) || defined(LIB_ZPOOL_BUILD)
+
+#if defined(_KERNEL) || defined(LIB_ZPOOL_BUILD) || defined(__FreeBSD__)
return (B_TRUE);
#else
return (zfs_mod_supported(ZFS_SYSFS_POOL_FEATURES, name));
{ "noparity", ZIO_CHECKSUM_NOPARITY },
{ "sha512", ZIO_CHECKSUM_SHA512 },
{ "skein", ZIO_CHECKSUM_SKEIN },
-#if !defined(__FreeBSD__)
-
{ "edonr", ZIO_CHECKSUM_EDONR },
-#endif
{ NULL }
};
{ "skein", ZIO_CHECKSUM_SKEIN },
{ "skein,verify",
ZIO_CHECKSUM_SKEIN | ZIO_CHECKSUM_VERIFY },
-#if !defined(__FreeBSD__)
-
{ "edonr,verify",
ZIO_CHECKSUM_EDONR | ZIO_CHECKSUM_VERIFY },
-#endif
{ NULL }
};
zprop_register_index(ZFS_PROP_CHECKSUM, "checksum",
ZIO_CHECKSUM_DEFAULT, PROP_INHERIT, ZFS_TYPE_FILESYSTEM |
ZFS_TYPE_VOLUME,
-#if !defined(__FreeBSD__)
"on | off | fletcher2 | fletcher4 | sha256 | sha512 | skein"
" | edonr",
-#else
- "on | off | fletcher2 | fletcher4 | sha256 | sha512 | skein",
-#endif
"CHECKSUM", checksum_table);
zprop_register_index(ZFS_PROP_DEDUP, "dedup", ZIO_CHECKSUM_OFF,
PROP_INHERIT, ZFS_TYPE_FILESYSTEM | ZFS_TYPE_VOLUME,
"on | off | verify | sha256[,verify] | sha512[,verify] | "
-#if !defined(__FreeBSD__)
"skein[,verify] | edonr,verify",
-#else
- "skein[,verify]",
-#endif
"DEDUP", dedup_table);
zprop_register_index(ZFS_PROP_COMPRESSION, "compression",
ZIO_COMPRESS_DEFAULT, PROP_INHERIT,
abd_checksum_skein_tmpl_init, abd_checksum_skein_tmpl_free,
ZCHECKSUM_FLAG_METADATA | ZCHECKSUM_FLAG_DEDUP |
ZCHECKSUM_FLAG_SALTED | ZCHECKSUM_FLAG_NOPWRITE, "skein"},
-#if !defined(__FreeBSD__)
{{abd_checksum_edonr_native, abd_checksum_edonr_byteswap},
abd_checksum_edonr_tmpl_init, abd_checksum_edonr_tmpl_free,
ZCHECKSUM_FLAG_METADATA | ZCHECKSUM_FLAG_SALTED |
ZCHECKSUM_FLAG_NOPWRITE, "edonr"},
-#endif
};
/*
return (SPA_FEATURE_SHA512);
case ZIO_CHECKSUM_SKEIN:
return (SPA_FEATURE_SKEIN);
-#if !defined(__FreeBSD__)
case ZIO_CHECKSUM_EDONR:
return (SPA_FEATURE_EDONR);
-#endif
default:
return (SPA_FEATURE_NONE);
}
tags = ['functional', 'channel_program', 'synctask_core']
[tests/functional/checksum]
-tests = ['run_sha2_test', 'run_skein_test', 'filetest_001_pos',
+tests = ['run_edonr_test', 'run_sha2_test', 'run_skein_test', 'filetest_001_pos',
'filetest_002_pos']
tags = ['functional', 'checksum']
tests = ['chattr_001_pos', 'chattr_002_neg']
tags = ['functional', 'chattr']
-[tests/functional/checksum:Linux]
-tests = ['run_edonr_test']
-tags = ['functional', 'checksum']
-
[tests/functional/cli_root/zfs:Linux]
tests = ['zfs_003_neg']
tags = ['functional', 'cli_root', 'zfs']
pkgexecdir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/checksum
pkgexec_PROGRAMS = \
+ edonr_test \
skein_test \
sha2_test
skein_test_SOURCES = skein_test.c
sha2_test_SOURCES = sha2_test.c
-if BUILD_LINUX
-pkgexec_PROGRAMS += edonr_test
edonr_test_SOURCES = edonr_test.c
-endif
. $STF_SUITE/include/libtest.shlib
-set -A CHECKSUM_TYPES "fletcher2" "fletcher4" "sha256" "sha512" "skein"
-if ! is_freebsd; then
- CHECKSUM_TYPES+=("edonr")
-fi
+set -A CHECKSUM_TYPES "fletcher2" "fletcher4" "sha256" "sha512" "skein" "edonr"
verify_runnable "both"
set -A dataset "$TESTPOOL" "$TESTPOOL/$TESTFS" "$TESTPOOL/$TESTVOL"
-set -A values "on" "off" "fletcher2" "fletcher4" "sha256" "sha512" "skein" "noparity"
-if is_linux; then
- values+=("edonr")
-fi
+set -A values "on" "off" "fletcher2" "fletcher4" "sha256" "sha512" "skein" "edonr" "noparity"
log_assert "Setting a valid checksum on a file system, volume," \
"it should be successful."
"feature@large_blocks"
"feature@sha512"
"feature@skein"
+ "feature@edonr"
"feature@device_removal"
"feature@obsolete_counts"
"feature@zpool_checkpoint"
"feature@livelist"
"feature@zstd_compress"
)
-fi
-
-if ! is_freebsd; then
- properties+=(
- "feature@edonr"
- )
-fi
+fi
\ No newline at end of file