]> git.proxmox.com Git - mirror_zfs.git/blobdiff - module/zfs/zfeature_common.c
OpenZFS 6585 - sha512, skein, and edonr have an unenforced dependency on extensible...
[mirror_zfs.git] / module / zfs / zfeature_common.c
index e8b0a16aed86f83306d88d3b1517d853d8701031..9beb4903e5bd119c71e4c3eebe34d9fa9c58c6d7 100644 (file)
@@ -253,16 +253,36 @@ zpool_feature_init(void)
            "Variable on-disk size of dnodes.",
            ZFEATURE_FLAG_PER_DATASET, large_dnode_deps);
        }
+
+       {
+       static const spa_feature_t sha512_deps[] = {
+               SPA_FEATURE_EXTENSIBLE_DATASET,
+               SPA_FEATURE_NONE
+       };
        zfeature_register(SPA_FEATURE_SHA512,
            "org.illumos:sha512", "sha512",
            "SHA-512/256 hash algorithm.",
-           ZFEATURE_FLAG_PER_DATASET, NULL);
+           ZFEATURE_FLAG_PER_DATASET, sha512_deps);
+       }
+       {
+       static const spa_feature_t skein_deps[] = {
+               SPA_FEATURE_EXTENSIBLE_DATASET,
+               SPA_FEATURE_NONE
+       };
        zfeature_register(SPA_FEATURE_SKEIN,
            "org.illumos:skein", "skein",
            "Skein hash algorithm.",
-           ZFEATURE_FLAG_PER_DATASET, NULL);
+           ZFEATURE_FLAG_PER_DATASET, skein_deps);
+       }
+
+       {
+       static const spa_feature_t edonr_deps[] = {
+               SPA_FEATURE_EXTENSIBLE_DATASET,
+               SPA_FEATURE_NONE
+       };
        zfeature_register(SPA_FEATURE_EDONR,
            "org.illumos:edonr", "edonr",
            "Edon-R hash algorithm.",
-           ZFEATURE_FLAG_PER_DATASET, NULL);
+           ZFEATURE_FLAG_PER_DATASET, edonr_deps);
+       }
 }