summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmd/zpool/zpool_main.c2
-rw-r--r--cmd/ztest/ztest.c3
-rw-r--r--lib/libzfs/libzfs_status.c2
-rw-r--r--module/zcommon/zfeature_common.c2
4 files changed, 9 insertions, 0 deletions
diff --git a/cmd/zpool/zpool_main.c b/cmd/zpool/zpool_main.c
index 29252e6a2..e89eb3bea 100644
--- a/cmd/zpool/zpool_main.c
+++ b/cmd/zpool/zpool_main.c
@@ -9030,6 +9030,8 @@ zpool_do_upgrade(int argc, char **argv)
"---------------\n");
for (i = 0; i < SPA_FEATURES; i++) {
zfeature_info_t *fi = &spa_feature_table[i];
+ if (!fi->fi_zfs_mod_supported)
+ continue;
const char *ro =
(fi->fi_flags & ZFEATURE_FLAG_READONLY_COMPAT) ?
" (read-only compatible)" : "";
diff --git a/cmd/ztest/ztest.c b/cmd/ztest/ztest.c
index cfa1290d7..1a0302807 100644
--- a/cmd/ztest/ztest.c
+++ b/cmd/ztest/ztest.c
@@ -7592,6 +7592,9 @@ ztest_init(ztest_shared_t *zs)
for (i = 0; i < SPA_FEATURES; i++) {
char *buf;
+ if (!spa_feature_table[i].fi_zfs_mod_supported)
+ continue;
+
/*
* 75% chance of using the log space map feature. We want ztest
* to exercise both the code paths that use the log space map
diff --git a/lib/libzfs/libzfs_status.c b/lib/libzfs/libzfs_status.c
index fadae9388..5e5cb5f5d 100644
--- a/lib/libzfs/libzfs_status.c
+++ b/lib/libzfs/libzfs_status.c
@@ -482,6 +482,8 @@ check_status(nvlist_t *config, boolean_t isimport,
return (ZPOOL_STATUS_COMPATIBILITY_ERR);
for (i = 0; i < SPA_FEATURES; i++) {
zfeature_info_t *fi = &spa_feature_table[i];
+ if (!fi->fi_zfs_mod_supported)
+ continue;
if (pool_features[i] &&
!nvlist_exists(feat, fi->fi_guid))
return (ZPOOL_STATUS_FEAT_DISABLED);
diff --git a/module/zcommon/zfeature_common.c b/module/zcommon/zfeature_common.c
index e95a85e89..fc0e09605 100644
--- a/module/zcommon/zfeature_common.c
+++ b/module/zcommon/zfeature_common.c
@@ -100,6 +100,8 @@ zfeature_is_supported(const char *guid)
for (spa_feature_t i = 0; i < SPA_FEATURES; i++) {
zfeature_info_t *feature = &spa_feature_table[i];
+ if (!feature->fi_zfs_mod_supported)
+ continue;
if (strcmp(guid, feature->fi_guid) == 0)
return (B_TRUE);
}