diff options
author | Matthew Macy <[email protected]> | 2019-12-05 13:10:29 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2019-12-05 13:10:29 -0800 |
commit | f95704ca5ef37aac2dc335d878380512a7cf628c (patch) | |
tree | 304d75e90a522e8b11156ad38823709f1d70a951 /module | |
parent | 054a049841879bfa4d7a8c91fbe5c7d51864e23d (diff) |
Disable EDONR on FreeBSD
FreeBSD uses its own crypto framework in-kernel which, at this time,
has no EDONR implementation.
Reviewed-by: Jorgen Lundman <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Matt Macy <[email protected]>
Signed-off-by: Ryan Moeller <[email protected]>
Closes #9664
Diffstat (limited to 'module')
-rw-r--r-- | module/zcommon/zfeature_common.c | 3 | ||||
-rw-r--r-- | module/zcommon/zfs_prop.c | 22 | ||||
-rw-r--r-- | module/zfs/zio_checksum.c | 4 |
3 files changed, 26 insertions, 3 deletions
diff --git a/module/zcommon/zfeature_common.c b/module/zcommon/zfeature_common.c index e5a1aff9c..cc59c406d 100644 --- a/module/zcommon/zfeature_common.c +++ b/module/zcommon/zfeature_common.c @@ -421,6 +421,8 @@ zpool_feature_init(void) skein_deps); } +#if !defined(__FreeBSD__) + { static const spa_feature_t edonr_deps[] = { SPA_FEATURE_EXTENSIBLE_DATASET, @@ -432,6 +434,7 @@ zpool_feature_init(void) ZFEATURE_FLAG_PER_DATASET, ZFEATURE_TYPE_BOOLEAN, edonr_deps); } +#endif { static const spa_feature_t redact_books_deps[] = { diff --git a/module/zcommon/zfs_prop.c b/module/zcommon/zfs_prop.c index bace3f184..20f92c6a8 100644 --- a/module/zcommon/zfs_prop.c +++ b/module/zcommon/zfs_prop.c @@ -81,7 +81,10 @@ zfs_prop_init(void) { "noparity", ZIO_CHECKSUM_NOPARITY }, { "sha512", ZIO_CHECKSUM_SHA512 }, { "skein", ZIO_CHECKSUM_SKEIN }, +#if !defined(__FreeBSD__) + { "edonr", ZIO_CHECKSUM_EDONR }, +#endif { NULL } }; @@ -98,8 +101,11 @@ zfs_prop_init(void) { "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 } }; @@ -297,12 +303,22 @@ zfs_prop_init(void) zprop_register_index(ZFS_PROP_CHECKSUM, "checksum", ZIO_CHECKSUM_DEFAULT, PROP_INHERIT, ZFS_TYPE_FILESYSTEM | ZFS_TYPE_VOLUME, - "on | off | fletcher2 | fletcher4 | sha256 | sha512 | " - "skein | edonr", "CHECKSUM", checksum_table); +#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], " - "skein[,verify], edonr,verify", "DEDUP", dedup_table); +#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, ZFS_TYPE_FILESYSTEM | ZFS_TYPE_VOLUME, diff --git a/module/zfs/zio_checksum.c b/module/zfs/zio_checksum.c index 179fab5de..ab1e9494e 100644 --- a/module/zfs/zio_checksum.c +++ b/module/zfs/zio_checksum.c @@ -191,10 +191,12 @@ zio_checksum_info_t zio_checksum_table[ZIO_CHECKSUM_FUNCTIONS] = { 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 }; /* @@ -211,8 +213,10 @@ zio_checksum_to_feature(enum zio_checksum cksum) 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); } |