]> git.proxmox.com Git - mirror_zfs.git/blobdiff - module/zcommon/zfeature_common.c
OpenZFS 7614, 9064 - zfs device evacuation/removal
[mirror_zfs.git] / module / zcommon / zfeature_common.c
index 36d0d9613fc728137289144632cadddd774d7a96..6ab3abe119144354c0f810ed73135833c2cee498 100644 (file)
@@ -299,6 +299,22 @@ zpool_feature_init(void)
            "Edon-R hash algorithm.",
            ZFEATURE_FLAG_PER_DATASET, edonr_deps);
        }
+       zfeature_register(SPA_FEATURE_DEVICE_REMOVAL,
+           "com.delphix:device_removal", "device_removal",
+           "Top-level vdevs can be removed, reducing logical pool size.",
+           ZFEATURE_FLAG_MOS, NULL);
+       {
+       static const spa_feature_t obsolete_counts_deps[] = {
+               SPA_FEATURE_EXTENSIBLE_DATASET,
+               SPA_FEATURE_DEVICE_REMOVAL,
+               SPA_FEATURE_NONE
+       };
+       zfeature_register(SPA_FEATURE_OBSOLETE_COUNTS,
+           "com.delphix:obsolete_counts", "obsolete_counts",
+           "Reduce memory used by removed devices when their blocks are "
+           "freed or remapped.",
+           ZFEATURE_FLAG_READONLY_COMPAT, obsolete_counts_deps);
+       }
        {
        static const spa_feature_t userobj_accounting_deps[] = {
                SPA_FEATURE_EXTENSIBLE_DATASET,