mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-23 02:44:41 +03:00
Enable edonr in FreeBSD
The code is integrated, builds fine, runs fine, there's not really any reason not to. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@ixsystems.com> Reviewed-by: Allan Jude <allan@klarasystems.com> Reviewed-by: Tony Nguyen <tony.nguyen@delphix.com> Signed-off-by: Rich Ercolani <rincebrain@gmail.com> Closes #12735
This commit is contained in:
@@ -12,6 +12,7 @@ KMOD= openzfs
|
||||
.PATH: ${SRCDIR}/avl \
|
||||
${SRCDIR}/lua \
|
||||
${SRCDIR}/nvpair \
|
||||
${SRCDIR}/icp/algs/edonr \
|
||||
${SRCDIR}/os/freebsd/spl \
|
||||
${SRCDIR}/os/freebsd/zfs \
|
||||
${SRCDIR}/unicode \
|
||||
@@ -73,6 +74,9 @@ SRCS= vnode_if.h device_if.h bus_if.h
|
||||
# avl
|
||||
SRCS+= avl.c
|
||||
|
||||
# icp
|
||||
SRCS+= edonr.c
|
||||
|
||||
#lua
|
||||
SRCS+= lapi.c \
|
||||
lauxlib.c \
|
||||
@@ -219,6 +223,7 @@ SRCS+= abd.c \
|
||||
dsl_scan.c \
|
||||
dsl_synctask.c \
|
||||
dsl_userhold.c \
|
||||
edonr_zfs.c \
|
||||
fm.c \
|
||||
gzip.c \
|
||||
lzjb.c \
|
||||
@@ -345,6 +350,7 @@ CFLAGS.dmu_traverse.c= -Wno-cast-qual
|
||||
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
|
||||
|
||||
@@ -227,12 +227,8 @@ zfs_mod_supported_feature(const char *name)
|
||||
* 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));
|
||||
|
||||
@@ -83,10 +83,7 @@ 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 }
|
||||
};
|
||||
|
||||
@@ -103,11 +100,8 @@ 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 }
|
||||
};
|
||||
|
||||
@@ -396,21 +390,13 @@ zfs_prop_init(void)
|
||||
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,
|
||||
|
||||
@@ -191,12 +191,10 @@ 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
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -213,10 +211,8 @@ 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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user