FreeBSD: disable edonr in zfs_mod_supported_feature()

Rather than conditionally compiling out the edonr code for FreeBSD
update zfs_mod_supported_feature() to indicate this feature is
unsupported.  This ensures that all spa features are defined on
every platform, even if they are not supported.

Reviewed-by: Ryan Moeller <ryan@ixsystems.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #11605 
Issue #11468
This commit is contained in:
Brian Behlendorf
2021-02-17 08:14:51 -08:00
committed by GitHub
parent aef1830f93
commit 35ec51796f
3 changed files with 16 additions and 7 deletions
+8 -5
View File
@@ -222,9 +222,15 @@ zfs_mod_supported_feature(const char *name)
* features are supported.
*
* The equivalent _can_ be done on FreeBSD by way of the sysctl
* tree, but this has not been done yet.
* tree, but this has not been done yet. Therefore, we return
* that all features except edonr are supported.
*/
#if defined(_KERNEL) || defined(LIB_ZPOOL_BUILD) || defined(__FreeBSD__)
#if defined(__FreeBSD__)
if (strcmp(name, "org.illumos:edonr") == 0)
return (B_FALSE);
else
return (B_TRUE);
#elif defined(_KERNEL) || defined(LIB_ZPOOL_BUILD)
return (B_TRUE);
#else
return (zfs_mod_supported(ZFS_SYSFS_POOL_FEATURES, name));
@@ -440,8 +446,6 @@ zpool_feature_init(void)
skein_deps);
}
#if !defined(__FreeBSD__)
{
static const spa_feature_t edonr_deps[] = {
SPA_FEATURE_EXTENSIBLE_DATASET,
@@ -453,7 +457,6 @@ zpool_feature_init(void)
ZFEATURE_FLAG_PER_DATASET, ZFEATURE_TYPE_BOOLEAN,
edonr_deps);
}
#endif
{
static const spa_feature_t redact_books_deps[] = {