aboutsummaryrefslogtreecommitdiffstats
path: root/include/sys/dsl_bookmark.h
diff options
context:
space:
mode:
authorChristian Schwarz <[email protected]>2020-01-16 02:15:05 +0100
committerBrian Behlendorf <[email protected]>2020-02-11 13:19:17 -0800
commit948f0c44196d2fa254399ec0d716c2ba0bb9ffad (patch)
tree87307e1d30a2f0601f64bb75603aedeb70f73b54 /include/sys/dsl_bookmark.h
parenta73f361fdb2c0a7778e70b482e316054fc2d8630 (diff)
zcp: add zfs.sync.bookmark
Add support for bookmark creation and cloning. Reviewed-by: Matt Ahrens <[email protected]> Reviewed-by: Paul Dagnelie <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Christian Schwarz <[email protected]> Closes #9571
Diffstat (limited to 'include/sys/dsl_bookmark.h')
-rw-r--r--include/sys/dsl_bookmark.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/sys/dsl_bookmark.h b/include/sys/dsl_bookmark.h
index ec3895d40..73424e5a8 100644
--- a/include/sys/dsl_bookmark.h
+++ b/include/sys/dsl_bookmark.h
@@ -102,8 +102,25 @@ typedef struct redact_block_phys {
typedef int (*rl_traverse_callback_t)(redact_block_phys_t *, void *);
+
+typedef struct dsl_bookmark_create_arg {
+ nvlist_t *dbca_bmarks;
+ nvlist_t *dbca_errors;
+} dsl_bookmark_create_arg_t;
+
+typedef struct dsl_bookmark_create_redacted_arg {
+ const char *dbcra_bmark;
+ const char *dbcra_snap;
+ redaction_list_t **dbcra_rl;
+ uint64_t dbcra_numsnaps;
+ uint64_t *dbcra_snaps;
+ void *dbcra_tag;
+} dsl_bookmark_create_redacted_arg_t;
+
int dsl_bookmark_create(nvlist_t *, nvlist_t *);
int dsl_bookmark_create_nvl_validate(nvlist_t *);
+int dsl_bookmark_create_check(void *arg, dmu_tx_t *tx);
+void dsl_bookmark_create_sync(void *arg, dmu_tx_t *tx);
int dsl_bookmark_create_redacted(const char *, const char *, uint64_t,
uint64_t *, void *, redaction_list_t **);
int dsl_get_bookmarks(const char *, nvlist_t *, nvlist_t *);