]> git.proxmox.com Git - mirror_zfs.git/blobdiff - module/zcommon/zfeature_common.c
Implement Redacted Send/Receive
[mirror_zfs.git] / module / zcommon / zfeature_common.c
index dc0c1161f8b6529447bcdb9c1428ba779df4f35a..cb43a19a3c7abc38aa09d98f8ad6b794b854e7f1 100644 (file)
@@ -408,6 +408,47 @@ zpool_feature_init(void)
            edonr_deps);
        }
 
+       {
+       static const spa_feature_t redact_books_deps[] = {
+               SPA_FEATURE_BOOKMARK_V2,
+               SPA_FEATURE_EXTENSIBLE_DATASET,
+               SPA_FEATURE_BOOKMARKS,
+               SPA_FEATURE_NONE
+       };
+       zfeature_register(SPA_FEATURE_REDACTION_BOOKMARKS,
+           "com.delphix:redaction_bookmarks", "redaction_bookmarks",
+           "Support for bookmarks which store redaction lists for zfs "
+           "redacted send/recv.", 0, ZFEATURE_TYPE_BOOLEAN,
+           redact_books_deps);
+       }
+
+       {
+       static const spa_feature_t redact_datasets_deps[] = {
+               SPA_FEATURE_EXTENSIBLE_DATASET,
+               SPA_FEATURE_NONE
+       };
+       zfeature_register(SPA_FEATURE_REDACTED_DATASETS,
+           "com.delphix:redacted_datasets", "redacted_datasets", "Support for "
+           "redacted datasets, produced by receiving a redacted zfs send "
+           "stream.", ZFEATURE_FLAG_PER_DATASET, ZFEATURE_TYPE_UINT64_ARRAY,
+           redact_datasets_deps);
+       }
+
+       {
+       static const spa_feature_t bookmark_written_deps[] = {
+               SPA_FEATURE_BOOKMARK_V2,
+               SPA_FEATURE_EXTENSIBLE_DATASET,
+               SPA_FEATURE_BOOKMARKS,
+               SPA_FEATURE_NONE
+       };
+       zfeature_register(SPA_FEATURE_BOOKMARK_WRITTEN,
+           "com.delphix:bookmark_written", "bookmark_written",
+           "Additional accounting, enabling the written#<bookmark> property"
+           "(space written since a bookmark), and estimates of send stream "
+           "sizes for incrementals from bookmarks.",
+           0, ZFEATURE_TYPE_BOOLEAN, bookmark_written_deps);
+       }
+
        zfeature_register(SPA_FEATURE_DEVICE_REMOVAL,
            "com.delphix:device_removal", "device_removal",
            "Top-level vdevs can be removed, reducing logical pool size.",